Response
Wrapper over NodeJs res object to simplify the process of sending HTTP response.
Features
- Simple to use API for making HTTP response.
- Properly closes the streams
pipe
to the response object. - Support for lazily sending the response. Helpful when you want to mutate the response inside a
downstream middleware
. - Etag generation.
- In built support for sending plain and signed cookies.
Table of contents
Usage
Install the package from npm as follows:
npm i @poppinss/response
yarn add @poppinss/response
and then use it as follows
import { Response, ResponseConfigContract } from '@poppinss/response'
import { createServer } from 'http'
const config: ResponseConfigContract = {
etag: false,
jsonpCallbackName: 'callback',
secret: 'optional-secret-to-sign-cookies',
cookie: {},
}
createServer((req, res) => {
const response = new Response(req, res, config)
response.send({ hello: 'world' })
response.send(Buffer.from('hello world'))
response.send(true)
response.send(10)
response.send('<p> Hello world </p>')
response.pipe(fs.createReadStream('profile.jpg'))
response.download('path/to/file.jpg')
response.attachment('path/to/file.jpg')
response.cookie('session-id', '1')
})
Config
{ |
"etag": false |
Whether or not to generate etag for all responses. Etag helps the browser for re-using the cache response when etags are same.
Default value is false
|
"jsonpCallbackName": "callback" |
The callback name for the JSONP response. In case of dynamic callback names, you can passing it inline when calling response.jsonp() method.
|
"secret" |
Optional Define a secret to sign cookies.
|
"cookie" |
Partial Config to generate the cookie header. Make sure to check cookie package docs for list of available options.
|
} |
API
Following are the autogenerated files via Typedoc
Maintainers
Harminder virk