@worker-tools/response-creators

Helper functions to create Fetch API Response objects based on HTTP status codes

Usage no npm install needed!

<script type="module">
  import workerToolsResponseCreators from 'https://cdn.skypack.dev/@worker-tools/response-creators';
</script>

README

Response Creators

A collection of factory functions for Fetch API Response types with pre-filled status and status-text headers for well-known HTTP status codes.

It is meant to be used in Service Workers and/or Cloudflare Workers.

import { ok } from '@worker-tools/response-creators'

self.addEventListener('fetch', event => event.respondWith(ok()))

For the most part, factory functions can be used like regular Response constructors, e.g.

event.respondWith(
  ok('Your custom body init', { headers: { 'Content-Type': 'text/plain' } })
)

However, some provide a slightly different interface for enhanced usability. E.g. redirects (300, 301, 302, 303, 307, 308):

event.respondWith(
  seeOther(`/your-redirect-url`)
)

(This will set the Location header to /your-redirect-url).

NOTE: When using JSON response bodies, consider combining it with worker-tools/json-fetch like so:

event.respondWith(
  new JSONResponse({ error: '...' }, badRequest())
)

Due to signature of the Response constructor, the opposite order (badRequest(new JSONResponse({ error: '...' }))) does not work!