Skip to content

cestoliv/serve-static-callback

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Express static middleware with a callback

Work exactly like Express static middleware, but add a callback function.

The callback function is called when a file is returned to the client. IT IS NOT called, if no file is found, nor if a redirection has been performed

Install

npm install serve-static-callback

API

import serveStaticCb from 'serve-static-callback'

serveStaticCb(root, options, callback)

Create a middleware function, just like Express built-in serve-static.

Options

The full list of options is on the official server-static doc.

Callback

The function that you want to be executed after the file beeing served.

function (req: express.Request, res: express.Response, path: string) {

}

Instead of

import express from 'express'

const app = express()
app.use(express.static('public', { dotfiles: "deny" }))
app.listen(80)

You can now

import express from 'express'
import serveStaticCb from 'serve-static-callback'

const app = express()
app.use(serveStaticCb('public', { dotfiles: "deny" },
	function (req: express.Request, res: express.Response, path: string) {
		console.log(`A request to ${req.path} has been made, the file ${path} has been served !`)
		// e.g. => A request to / has been made, the file public/index.html has been served !
	})
)
app.listen(80)