jrf0110 / 8track

A service worker router with async middleware and neato type-inference inspired by Koa
56 stars 6 forks source link

Add an easier way to handle requests #46

Closed jrf0110 closed 3 years ago

jrf0110 commented 3 years ago

Right now, the glue code required for consumers is pretty significant:

import { getErrorPageHTML } from '8track';
import { router } from './router';

addEventListener('fetch', event => {
  const res = router.getResponseForEvent(event).catch(error => {
    return new Response(getErrorPageHTML(event.request, error), {
      status: 500,
      headers: {
        'Content-Type': 'text/html',
      },
    });
  });

  event.respondWith(res as any);
});