English|中文
A static file server for front-end learner.
Front-end learners often need to serve static files on their computer.
Sometimes python3 -m http.server
is enough, but there are many situations where you may want the static server response a specific header(e.g. CORS and Timing-Allow headers).
This tool can make it easy to control http headers and status code by using query string.
$ npm install httpany -g
$ httpany yourDirectory
# "yourDirectory" is served on http://0.0.0.0:3000
# options is: {"root":"/path/to/yourDirectory","index":"index.html"}
Access http://localhost:3000/?foo=bar then the response header will contain foo: bar
.
Access http://localhost:3000/?status=302&location=https://github.com/flowmemo then your browser will be redirected to my GitHub profile.
Note that you can also set status code by status
key.
$ httpany <root path> [options]
--help, -h Show help
--port, -p Listening port, the default is 3000
--address, -a Listening address, the default is 0.0.0.0
The following options are from koa-static:
--maxage Browser cache max-age in milliseconds. defaults to 0
--hidden Allow transfer of hidden files. defaults to false
--index Default file name, defaults to 'index.html'
--defer If true, serves after return next(), allowing any downstream middleware to respond first.
--gzip Try to serve the gzipped version of a file automatically when gzip is supported by a client and if the requested file with .gz extension exists. (defaults to true)
--extensions Try to match extensions from passed array to search for file when no extension is sufficed in URL. First found is served. (defaults to false)
Access-Control-Allow-Origin
is set to *
by default. You can disable it by setting this field to null
.
MIT © flowmemo