1.1.1Updated a month ago
import { createHandler } from "$fresh/server.ts";
import manifest from "./www/fresh.gen.ts";
import config from "./www/fresh.config.ts";

import "$modules/utils/default_headers.ts";

import { VP_Request } from "$modules/vp_request.ts";

import { CLI_VERSION } from "$cli/config.ts";
import { DenoRouter } from "./deno_router.ts";
import { DefaultHeaders } from "$modules/utils/default_headers.ts";

if (import.meta.main || Deno.args.includes('serve')) {
  const freshHandler = await createHandler(manifest, config);

  Deno.serve({
    port: 10337,
    onListen(addr) {
      console.log(`📦 Viapak ${CLI_VERSION} listening on port ${addr.port}`)
    }
  }, async (original_request, info) => {
    const request = new VP_Request(original_request);

    let response;

    if(request.is_deno) {
      response = await DenoRouter(request, info);
    } else {
      response = await freshHandler(request, info);
    }

    for(const [key, value] of DefaultHeaders.entries()) {
      response.headers.append(key, value);
    }

    return response;
  })
}