1.1.1 • Published 5 years ago
@poppinss/response v1.1.1
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
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' }) // objects
response.send(Buffer.from('hello world')) // buffer
response.send(true) // boolean
response.send(10) // numbers
response.send('<p> Hello world </p>') // html
response.pipe(fs.createReadStream('profile.jpg')) // streams
response.download('path/to/file.jpg') // stream files
response.attachment('path/to/file.jpg') // set Content-Disposition header
response.cookie('session-id', '1') // set signed cookie
})
Config
API
Following are the autogenerated files via Typedoc