[READ-ONLY] Mirror of https://github.com/danielroe/nuxt-deno.
0

Configure Feed

Select the types of activity you want to include in your feed.

nuxt-deno / deno-entry.mjs
2.1 kB 72 lines
1import process from 'https://deno.land/std/node/process.ts' 2import { serve } from 'https://deno.land/std/http/server.ts' 3import { serveTls } from 'https://deno.land/std/http/server.ts' 4 5import '#internal/nitro/virtual/polyfill' 6 7import destr from 'destr' 8import { useRuntimeConfig } from '#internal/nitro' 9import { nitroApp } from '#internal/nitro/app' 10import { requestHasBody, useRequestBody } from '#internal/nitro/utils' 11 12const cert = process.env.NITRO_SSL_CERT 13const key = process.env.NITRO_SSL_KEY 14const port = destr(process.env.NITRO_PORT || process.env.PORT) || 3e3 15const hostname = process.env.NITRO_HOST || process.env.HOST 16 17if (cert && key) { 18 serveTls(handler, { key, cert, port, hostname, onListen }) 19} else { 20 serve(handler, { port, hostname, onListen }) 21} 22 23function onListen({ port, hostname }) { 24 const baseURL = (useRuntimeConfig().app.baseURL || '').replace(/\/$/, '') 25 const url = `${hostname}:${port}${baseURL}` 26 console.log(`Listening ${url}`) 27} 28 29// async function handler (request: Request, _connInfo: ConnInfo) { 30async function handler(request, _connInfo) { 31 const url = new URL(request.url) 32 let body 33 if (requestHasBody(request)) { 34 body = await useRequestBody(request) 35 } 36 37 const r = await nitroApp.localCall({ 38 url: url.pathname + url.search, 39 host: url.hostname, 40 protocol: url.protocol, 41 headers: request.headers, 42 method: request.method, 43 redirect: request.redirect, 44 body, 45 }) 46 47 // TODO: fix in nitro 48 const responseBody = r.status !== 304 ? r.body : null 49 return new Response(responseBody, { 50 headers: r.headers, 51 status: r.status || 200, 52 statusText: r.statusText, 53 }) 54} 55 56if (process.env.DEBUG) { 57 process.on('unhandledRejection', err => 58 console.error('[nitro] [dev] [unhandledRejection]', err) 59 ) 60 process.on('uncaughtException', err => 61 console.error('[nitro] [dev] [uncaughtException]', err) 62 ) 63} else { 64 process.on('unhandledRejection', err => 65 console.error('[nitro] [dev] [unhandledRejection] ' + err) 66 ) 67 process.on('uncaughtException', err => 68 console.error('[nitro] [dev] [uncaughtException] ' + err) 69 ) 70} 71 72export default {}