1.1.1 • Published 5 years ago

@poppinss/response v1.1.1

Weekly downloads
31
License
MIT
Repository
github
Last release
5 years ago

Response

circleci-image npm-image license-image

Wrapper over NodeJs res object to simplify the process of sending HTTP response.

Features

  1. Simple to use API for making HTTP response.
  2. Properly closes the streams pipe to the response object.
  3. Support for lazily sending the response. Helpful when you want to mutate the response inside a downstream middleware.
  4. Etag generation.
  5. 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

Maintainers

Harminder virk