INNER CODE UNIT · TypeScript

serve

PerryTS/perry · packages/hono-perry-server/src/index.ts:54

export function serve(opts: ServeOptions, listener?: (info: ServeInfo) => void): void {
  const app = fastify({ logger: false })

  app.all('/*', async (req: any, reply: any) => {
    const host = req.headers.host ?? `localhost:${opts.port}`
    const url = `http://${host}${req.url}`

    const headers = new Headers()
    for (const [key, value] of Object.entries(req.headers)) {
      if (Array.isArray(value)) {
        for (const v of value) headers.append(key, String(v))
      } else if (value !== undefined && value !== null) {
        headers.set(key, String(value))
      }
    }

    const method = req.method ?? 'GET'
    const hasBody = method !== 'GET' && method !== 'HEAD'

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…