X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=node_modules%2Fnode-static%2FREADME.md;fp=node_modules%2Fnode-static%2FREADME.md;h=0000000000000000000000000000000000000000;hp=70eec00c9ef0024242f49ede906f385335ae7c03;hb=5e96dd57ddd883604e87f62bdddcb111c63a6e1a;hpb=acb5f682a2b75b972710cabd81658f63071324b0 diff --git a/node_modules/node-static/README.md b/node_modules/node-static/README.md deleted file mode 100644 index 70eec00..0000000 --- a/node_modules/node-static/README.md +++ /dev/null @@ -1,234 +0,0 @@ -node-static -=========== - -> a simple, *rfc 2616 compliant* file streaming module for [node](http://nodejs.org) - -node-static understands and supports *conditional GET* and *HEAD* requests. -node-static was inspired by some of the other static-file serving modules out there, -such as node-paperboy and antinode. - -Synopsis --------- - -```js -var static = require('node-static'); - -// -// Create a node-static server instance to serve the './public' folder -// -var file = new static.Server('./public'); - -require('http').createServer(function (request, response) { - request.addListener('end', function () { - // - // Serve files! - // - file.serve(request, response); - }).resume(); -}).listen(8080); -``` - -API ---- - -### Creating a node-static Server # - -Creating a file server instance is as simple as: - -```js -new static.Server(); -``` - -This will serve files in the current directory. If you want to serve files in a specific -directory, pass it as the first argument: - -```js -new static.Server('./public'); -``` - -You can also specify how long the client is supposed to cache the files node-static serves: - -```js -new static.Server('./public', { cache: 3600 }); -``` - -This will set the `Cache-Control` header, telling clients to cache the file for an hour. -This is the default setting. - -### Serving files under a directory # - -To serve files under a directory, simply call the `serve` method on a `Server` instance, passing it -the HTTP request and response object: - -```js -var static = require('node-static'); - -var fileServer = new static.Server('./public'); - -require('http').createServer(function (request, response) { - request.addListener('end', function () { - fileServer.serve(request, response); - }).resume(); -}).listen(8080); -``` - -### Serving specific files # - -If you want to serve a specific file, like an error page for example, use the `serveFile` method: - -```js -fileServer.serveFile('/error.html', 500, {}, request, response); -``` - -This will serve the `error.html` file, from under the file root directory, with a `500` status code. -For example, you could serve an error page, when the initial request wasn't found: - -```js -require('http').createServer(function (request, response) { - request.addListener('end', function () { - fileServer.serve(request, response, function (e, res) { - if (e && (e.status === 404)) { // If the file wasn't found - fileServer.serveFile('/not-found.html', 404, {}, request, response); - } - }); - }).resume(); -}).listen(8080); -``` - -More on intercepting errors bellow. - -### Intercepting errors & Listening # - -An optional callback can be passed as last argument, it will be called every time a file -has been served successfully, or if there was an error serving the file: - -```js -var static = require('node-static'); - -var fileServer = new static.Server('./public'); - -require('http').createServer(function (request, response) { - request.addListener('end', function () { - fileServer.serve(request, response, function (err, result) { - if (err) { // There was an error serving the file - console.error("Error serving " + request.url + " - " + err.message); - - // Respond to the client - response.writeHead(err.status, err.headers); - response.end(); - } - }); - }).resume(); -}).listen(8080); -``` - -Note that if you pass a callback, and there is an error serving the file, node-static -*will not* respond to the client. This gives you the opportunity to re-route the request, -or handle it differently. - -For example, you may want to interpret a request as a static request, but if the file isn't found, -send it to an application. - -If you only want to *listen* for errors, you can use *event listeners*: - -```js -fileServer.serve(request, response).addListener('error', function (err) { - console.error("Error serving " + request.url + " - " + err.message); -}); -``` - -With this method, you don't have to explicitly send the response back, in case of an error. - -### Options when creating an instance of `Server` # - -#### `cache` # - -Sets the `Cache-Control` header. - -example: `{ cache: 7200 }` - -Passing a number will set the cache duration to that number of seconds. -Passing `false` will disable the `Cache-Control` header. - -> Defaults to `3600` - - -#### `serverInfo` # - -Sets the `Server` header. - -example: `{ serverInfo: "myserver" }` - -> Defaults to `node-static/{version}` - -#### `headers` # - -Sets response headers. - -example: `{ 'X-Hello': 'World!' }` - -> defaults to `{}` - -#### `gzip` # - -Enable support for sending compressed responses. This will enable a check for a -file with the same name plus '.gz' in the same folder. If the compressed file is -found and the client has indicated support for gzip file transfer, the contents -of the .gz file will be sent in place of the uncompressed file along with a -Content-Encoding: gzip header to inform the client the data has been compressed. - -example: `{ gzip: true }` -example: `{ gzip: /^\/text/ }` - -Passing `true` will enable this check for all files. -Passing a RegExp instance will only enable this check if the content-type of the -respond would match that RegExp using its test() method. - -> Defaults to `false` - -#### `indexFile` # - -Choose a custom index file when serving up directories. - -example: `{ indexFile: "index.htm" }` - -> Defaults to `index.html` - - -Command Line Interface ----------------------- - -`node-static` also provides a CLI. - -### Installation # - -```sh -$ npm install -g node-static -``` - -### Example Usage # - -```sh -# serve up the current directory -$ static -serving "." at http://127.0.0.1:8080 - -# serve up a different directory -$ static public -serving "public" at http://127.0.0.1:8080 - -# specify additional headers (this one is useful for development) -$ static -H '{"Cache-Control": "no-cache, must-revalidate"}' -serving "." at http://127.0.0.1:8080 - -# set cache control max age -$ static -c 7200 -serving "." at http://127.0.0.1:8080 - -# expose the server to your local network -$ static -a 0.0.0.0 -serving "." at http://0.0.0.0:8080 - -# show help message, including all options -$ static -h -```