@tinyhttp/send
TypeScript icon, indicating that this package has built-in type declarations

2.2.1 • Public • Published

@tinyhttp/send

npm (scoped) npm

Extensions for sending a response, including send, sendStatus, status, sendFile and json. Works with any backend framework.

Install

pnpm i @tinyhttp/send

API

import { json, send, sendStatus, status } from '@tinyhttp/send'

send(body)

Sends the HTTP response.

The body parameter can be a Buffer object, a string, an object, or an array.

Example
res.send(Buffer.from('whoop'))
res.send({ some: 'json' })
res.send('<p>some html</p>')
res.status(404).send('Sorry, we cannot find that!')
res.status(500).send({ error: 'something blew up' })

json(body)

Sends a JSON response. This method sends a response (with the correct content-type) that is the parameter converted to a JSON string using JSON.stringify().

The parameter can be any JSON type, including object, array, string, boolean, number, or null, and you can also use it to convert other values to JSON.

Example
res.json(null)
res.json({ user: 'tobi' })
res.status(500).json({ error: 'message' })

status(number)

Sets the HTTP status for the response. It is a chainable alias of Node’s response.statusCode.

Example
res.status(403).end()
res.status(400).send('Bad Request')

sendStatus

Sets the response HTTP status code to statusCode and send its string representation as the response body.

Example
res.sendStatus(200) // equivalent to res.status(200).send('OK')
res.sendStatus(403) // equivalent to res.status(403).send('Forbidden')
res.sendStatus(404) // equivalent to res.status(404).send('Not Found')
res.sendStatus(500) // equivalent to res.status(500).send('Internal Server Error')

If an unsupported status code is specified, the HTTP status is still set to statusCode and the string version of the code is sent as the response body.

sendFile

Sends a file by piping a stream to response. It also checks for extension to set a proper Content-Type header.

Path argument must be absolute. To use a relative path, specify the root option first.

Example
res.sendFile('song.mp3', { root: process.cwd() }, (err) => console.log(err))

Example

import { createServer } from 'node:http'
import { send } from '@tinyhttp/send'

createServer((req, res) => send(req, res)('Hello World')).listen(3000)

Package Sidebar

Install

npm i @tinyhttp/send

Weekly Downloads

77,838

Version

2.2.1

License

MIT

Unpacked Size

29.5 kB

Total Files

19

Last publish

Collaborators

  • dropthebeatbro