@qwik.dev/router 2.0.0-beta.10 → 2.0.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/lib/adapters/azure-swa/vite/index.cjs +61 -5
  2. package/lib/adapters/azure-swa/vite/index.mjs +26 -201
  3. package/lib/adapters/bun-server/vite/index.cjs +27 -5
  4. package/lib/adapters/bun-server/vite/index.mjs +14 -196
  5. package/lib/adapters/cloud-run/vite/index.cjs +24 -5
  6. package/lib/adapters/cloud-run/vite/index.mjs +13 -195
  7. package/lib/adapters/cloudflare-pages/vite/index.cjs +65 -1
  8. package/lib/adapters/cloudflare-pages/vite/index.mjs +63 -4
  9. package/lib/adapters/deno-server/vite/index.cjs +39 -5
  10. package/lib/adapters/deno-server/vite/index.mjs +16 -198
  11. package/lib/adapters/netlify-edge/vite/index.cjs +88 -6
  12. package/lib/adapters/netlify-edge/vite/index.mjs +56 -240
  13. package/lib/adapters/node-server/vite/index.cjs +27 -5
  14. package/lib/adapters/node-server/vite/index.mjs +14 -196
  15. package/lib/adapters/shared/vite/index.cjs +303 -2
  16. package/lib/adapters/shared/vite/index.d.ts +4 -4
  17. package/lib/adapters/shared/vite/index.mjs +248 -143
  18. package/lib/adapters/ssg/vite/index.cjs +19 -5
  19. package/lib/adapters/ssg/vite/index.mjs +11 -193
  20. package/lib/adapters/vercel-edge/vite/index.cjs +81 -5
  21. package/lib/adapters/vercel-edge/vite/index.d.ts +1 -1
  22. package/lib/adapters/vercel-edge/vite/index.mjs +48 -229
  23. package/lib/chunks/error-handler.cjs +58 -0
  24. package/lib/chunks/error-handler.mjs +59 -0
  25. package/lib/chunks/format-error.cjs +136 -0
  26. package/lib/chunks/format-error.mjs +137 -0
  27. package/lib/chunks/fs.cjs +274 -0
  28. package/lib/chunks/fs.mjs +275 -0
  29. package/lib/chunks/index.cjs +877 -0
  30. package/lib/chunks/index.mjs +876 -0
  31. package/lib/chunks/mime-types.cjs +52 -0
  32. package/lib/chunks/mime-types.mjs +53 -0
  33. package/lib/chunks/routing.qwik.cjs +452 -0
  34. package/lib/chunks/routing.qwik.mjs +453 -0
  35. package/lib/chunks/types.qwik.cjs +24 -0
  36. package/lib/chunks/types.qwik.mjs +25 -0
  37. package/lib/index.d.ts +9 -3
  38. package/lib/index.qwik.cjs +543 -1001
  39. package/lib/index.qwik.mjs +512 -972
  40. package/lib/middleware/aws-lambda/index.cjs +52 -1
  41. package/lib/middleware/aws-lambda/index.mjs +37 -26
  42. package/lib/middleware/azure-swa/index.cjs +92 -1
  43. package/lib/middleware/azure-swa/index.mjs +64 -46
  44. package/lib/middleware/bun/index.cjs +143 -1
  45. package/lib/middleware/bun/index.mjs +103 -117
  46. package/lib/middleware/cloudflare-pages/index.cjs +96 -1
  47. package/lib/middleware/cloudflare-pages/index.mjs +68 -47
  48. package/lib/middleware/deno/index.cjs +130 -1
  49. package/lib/middleware/deno/index.mjs +93 -112
  50. package/lib/middleware/firebase/index.cjs +33 -1
  51. package/lib/middleware/firebase/index.mjs +25 -16
  52. package/lib/middleware/netlify-edge/index.cjs +71 -1
  53. package/lib/middleware/netlify-edge/index.mjs +52 -36
  54. package/lib/middleware/node/index.cjs +219 -1
  55. package/lib/middleware/node/index.mjs +178 -165
  56. package/lib/middleware/request-handler/index.cjs +1488 -18
  57. package/lib/middleware/request-handler/index.d.ts +20 -2
  58. package/lib/middleware/request-handler/index.mjs +1225 -873
  59. package/lib/middleware/vercel-edge/index.cjs +98 -1
  60. package/lib/middleware/vercel-edge/index.mjs +71 -47
  61. package/lib/service-worker/index.cjs +5 -0
  62. package/lib/service-worker/index.mjs +5 -0
  63. package/lib/ssg/index.cjs +15 -1
  64. package/lib/ssg/index.mjs +12 -19
  65. package/lib/vite/index.cjs +2006 -27
  66. package/lib/vite/index.d.ts +9 -9
  67. package/lib/vite/index.mjs +1597 -1216
  68. package/package.json +9 -8
  69. package/lib/adapters/azure-swa/vite/index-BqUeglYs.cjs +0 -1
  70. package/lib/adapters/azure-swa/vite/index-CBIchDYq.js +0 -651
  71. package/lib/adapters/azure-swa/vite/index-ClHGw5z1.js +0 -6
  72. package/lib/adapters/azure-swa/vite/index-CrwlB95_.js +0 -22
  73. package/lib/adapters/azure-swa/vite/index-DTIOTwZo.cjs +0 -11
  74. package/lib/adapters/azure-swa/vite/index-vQuPcef3.cjs +0 -1
  75. package/lib/adapters/bun-server/vite/index-BqUeglYs.cjs +0 -1
  76. package/lib/adapters/bun-server/vite/index-CBIchDYq.js +0 -651
  77. package/lib/adapters/bun-server/vite/index-ClHGw5z1.js +0 -6
  78. package/lib/adapters/bun-server/vite/index-CrwlB95_.js +0 -22
  79. package/lib/adapters/bun-server/vite/index-DTIOTwZo.cjs +0 -11
  80. package/lib/adapters/bun-server/vite/index-vQuPcef3.cjs +0 -1
  81. package/lib/adapters/cloud-run/vite/index-BqUeglYs.cjs +0 -1
  82. package/lib/adapters/cloud-run/vite/index-CBIchDYq.js +0 -651
  83. package/lib/adapters/cloud-run/vite/index-ClHGw5z1.js +0 -6
  84. package/lib/adapters/cloud-run/vite/index-CrwlB95_.js +0 -22
  85. package/lib/adapters/cloud-run/vite/index-DTIOTwZo.cjs +0 -11
  86. package/lib/adapters/cloud-run/vite/index-vQuPcef3.cjs +0 -1
  87. package/lib/adapters/cloudflare-pages/vite/index-BIeHg2Cj.cjs +0 -5
  88. package/lib/adapters/cloudflare-pages/vite/index-C455V8_A.cjs +0 -1
  89. package/lib/adapters/cloudflare-pages/vite/index-ClHGw5z1.js +0 -6
  90. package/lib/adapters/cloudflare-pages/vite/index-D3HITboM.js +0 -645
  91. package/lib/adapters/cloudflare-pages/vite/index-DKcVHRBy.cjs +0 -11
  92. package/lib/adapters/cloudflare-pages/vite/index-DwovcBp3.js +0 -22
  93. package/lib/adapters/cloudflare-pages/vite/index-bogwy7wh.js +0 -250
  94. package/lib/adapters/cloudflare-pages/vite/index-vQuPcef3.cjs +0 -1
  95. package/lib/adapters/deno-server/vite/index-BqUeglYs.cjs +0 -1
  96. package/lib/adapters/deno-server/vite/index-CBIchDYq.js +0 -651
  97. package/lib/adapters/deno-server/vite/index-ClHGw5z1.js +0 -6
  98. package/lib/adapters/deno-server/vite/index-CrwlB95_.js +0 -22
  99. package/lib/adapters/deno-server/vite/index-DTIOTwZo.cjs +0 -11
  100. package/lib/adapters/deno-server/vite/index-vQuPcef3.cjs +0 -1
  101. package/lib/adapters/netlify-edge/vite/index-BqUeglYs.cjs +0 -1
  102. package/lib/adapters/netlify-edge/vite/index-CBIchDYq.js +0 -651
  103. package/lib/adapters/netlify-edge/vite/index-ClHGw5z1.js +0 -6
  104. package/lib/adapters/netlify-edge/vite/index-CrwlB95_.js +0 -22
  105. package/lib/adapters/netlify-edge/vite/index-DTIOTwZo.cjs +0 -11
  106. package/lib/adapters/netlify-edge/vite/index-vQuPcef3.cjs +0 -1
  107. package/lib/adapters/node-server/vite/index-BqUeglYs.cjs +0 -1
  108. package/lib/adapters/node-server/vite/index-CBIchDYq.js +0 -651
  109. package/lib/adapters/node-server/vite/index-ClHGw5z1.js +0 -6
  110. package/lib/adapters/node-server/vite/index-CrwlB95_.js +0 -22
  111. package/lib/adapters/node-server/vite/index-DTIOTwZo.cjs +0 -11
  112. package/lib/adapters/node-server/vite/index-vQuPcef3.cjs +0 -1
  113. package/lib/adapters/shared/vite/index-BqUeglYs.cjs +0 -1
  114. package/lib/adapters/shared/vite/index-CBIchDYq.js +0 -651
  115. package/lib/adapters/shared/vite/index-ClHGw5z1.js +0 -6
  116. package/lib/adapters/shared/vite/index-CrwlB95_.js +0 -22
  117. package/lib/adapters/shared/vite/index-DTIOTwZo.cjs +0 -11
  118. package/lib/adapters/shared/vite/index-vQuPcef3.cjs +0 -1
  119. package/lib/adapters/ssg/vite/index-BqUeglYs.cjs +0 -1
  120. package/lib/adapters/ssg/vite/index-CBIchDYq.js +0 -651
  121. package/lib/adapters/ssg/vite/index-ClHGw5z1.js +0 -6
  122. package/lib/adapters/ssg/vite/index-CrwlB95_.js +0 -22
  123. package/lib/adapters/ssg/vite/index-DTIOTwZo.cjs +0 -11
  124. package/lib/adapters/ssg/vite/index-vQuPcef3.cjs +0 -1
  125. package/lib/adapters/vercel-edge/vite/index-BqUeglYs.cjs +0 -1
  126. package/lib/adapters/vercel-edge/vite/index-CBIchDYq.js +0 -651
  127. package/lib/adapters/vercel-edge/vite/index-ClHGw5z1.js +0 -6
  128. package/lib/adapters/vercel-edge/vite/index-CrwlB95_.js +0 -22
  129. package/lib/adapters/vercel-edge/vite/index-DTIOTwZo.cjs +0 -11
  130. package/lib/adapters/vercel-edge/vite/index-vQuPcef3.cjs +0 -1
  131. package/lib/service-worker.cjs +0 -1
  132. package/lib/service-worker.mjs +0 -5
  133. package/lib/ssg/deno.cjs +0 -1
  134. package/lib/ssg/deno.mjs +0 -6
  135. package/lib/ssg/index-CBIchDYq.js +0 -651
  136. package/lib/ssg/index-ClHGw5z1.js +0 -6
  137. package/lib/ssg/index-DTIOTwZo.cjs +0 -11
  138. package/lib/ssg/index-vQuPcef3.cjs +0 -1
  139. package/lib/ssg/node.cjs +0 -11
  140. package/lib/ssg/node.mjs +0 -651
@@ -1,148 +1,129 @@
1
- import { setServerPlatform as w } from "@qwik.dev/core/server";
2
- import { mergeHeadersCookies as C, requestHandler as y, isStaticPath as c, getNotFound as R } from "@qwik.dev/router/middleware/request-handler";
3
- import { join as m, fromFileUrl as b, extname as S } from "https://deno.land/std/path/mod.ts";
4
- const j = {
5
- "3gp": "video/3gpp",
6
- "3gpp": "video/3gpp",
7
- asf: "video/x-ms-asf",
8
- asx: "video/x-ms-asf",
9
- avi: "video/x-msvideo",
10
- avif: "image/avif",
11
- bmp: "image/x-ms-bmp",
12
- css: "text/css",
13
- flv: "video/x-flv",
14
- gif: "image/gif",
15
- htm: "text/html",
16
- html: "text/html",
17
- ico: "image/x-icon",
18
- jng: "image/x-jng",
19
- jpeg: "image/jpeg",
20
- jpg: "image/jpeg",
21
- js: "application/javascript",
22
- json: "application/json",
23
- kar: "audio/midi",
24
- m4a: "audio/x-m4a",
25
- m4v: "video/x-m4v",
26
- mid: "audio/midi",
27
- midi: "audio/midi",
28
- mng: "video/x-mng",
29
- mov: "video/quicktime",
30
- mp3: "audio/mpeg",
31
- mp4: "video/mp4",
32
- mpeg: "video/mpeg",
33
- mpg: "video/mpeg",
34
- ogg: "audio/ogg",
35
- pdf: "application/pdf",
36
- png: "image/png",
37
- rar: "application/x-rar-compressed",
38
- shtml: "text/html",
39
- svg: "image/svg+xml",
40
- svgz: "image/svg+xml",
41
- tif: "image/tiff",
42
- tiff: "image/tiff",
43
- ts: "video/mp2t",
44
- txt: "text/plain",
45
- wbmp: "image/vnd.wap.wbmp",
46
- webm: "video/webm",
47
- webp: "image/webp",
48
- wmv: "video/x-ms-wmv",
49
- woff: "font/woff",
50
- woff2: "font/woff2",
51
- xml: "text/xml",
52
- zip: "application/zip"
53
- };
54
- function E(n) {
55
- n.qwikCityPlan && !n.qwikRouterConfig && (console.warn("qwikCityPlan is deprecated. Simply remove it."), n.qwikRouterConfig = n.qwikCityPlan), n.manifest && w(n.manifest);
56
- const l = n.static?.root ?? m(b(import.meta.url), "..", "..", "dist");
57
- async function p(t, e) {
1
+ import { setServerPlatform } from "@qwik.dev/core/server";
2
+ import { isStaticPath, getNotFound, mergeHeadersCookies, requestHandler } from "@qwik.dev/router/middleware/request-handler";
3
+ import { M as MIME_TYPES } from "../../chunks/mime-types.mjs";
4
+ import { join, fromFileUrl, extname } from "https://deno.land/std/path/mod.ts";
5
+ function createQwikRouter(opts) {
6
+ if (opts.qwikCityPlan && !opts.qwikRouterConfig) {
7
+ console.warn("qwikCityPlan is deprecated. Simply remove it.");
8
+ opts.qwikRouterConfig = opts.qwikCityPlan;
9
+ }
10
+ if (opts.manifest) {
11
+ setServerPlatform(opts.manifest);
12
+ }
13
+ const staticFolder = opts.static?.root ?? join(fromFileUrl(import.meta.url), "..", "..", "dist");
14
+ async function router(request, info) {
58
15
  try {
59
- const i = {
16
+ const url = new URL(request.url);
17
+ const serverRequestEv = {
60
18
  mode: "server",
61
19
  locale: void 0,
62
- url: new URL(t.url),
20
+ url,
63
21
  // @ts-ignore
64
22
  env: Deno.env,
65
- request: t,
66
- getWritableStream: (a, s, g, u) => {
67
- const { readable: v, writable: h } = new TransformStream(), x = new Response(v, {
68
- status: a,
69
- headers: C(s, g)
23
+ request,
24
+ getWritableStream: (status, headers, cookies, resolve) => {
25
+ const { readable, writable } = new TransformStream();
26
+ const response = new Response(readable, {
27
+ status,
28
+ headers: mergeHeadersCookies(headers, cookies)
70
29
  });
71
- return u(x), h;
30
+ resolve(response);
31
+ return writable;
72
32
  },
73
33
  platform: {
74
- ssr: !0
34
+ ssr: true
75
35
  },
76
- getClientConn: () => n.getClientConn ? n.getClientConn(t, e) : {
77
- ip: e.remoteAddr.hostname
36
+ getClientConn: () => {
37
+ return opts.getClientConn ? opts.getClientConn(request, info) : {
38
+ ip: info.remoteAddr.hostname
39
+ };
78
40
  }
79
- }, r = await y(i, n);
80
- if (r) {
81
- r.completion.then((s) => {
82
- s && console.error(s);
41
+ };
42
+ const handledResponse = await requestHandler(serverRequestEv, opts);
43
+ if (handledResponse) {
44
+ handledResponse.completion.then((v) => {
45
+ if (v) {
46
+ console.error(v);
47
+ }
83
48
  });
84
- const a = await r.response;
85
- if (a)
86
- return a;
49
+ const response = await handledResponse.response;
50
+ if (response) {
51
+ return response;
52
+ }
87
53
  }
88
54
  return null;
89
- } catch (o) {
90
- return console.error(o), new Response(String(o || "Error"), {
55
+ } catch (e) {
56
+ console.error(e);
57
+ return new Response(String(e || "Error"), {
91
58
  status: 500,
92
59
  headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "deno-server" }
93
60
  });
94
61
  }
95
62
  }
96
- const d = async (t) => {
63
+ const notFound = async (request) => {
97
64
  try {
98
- const e = new URL(t.url), o = !t.headers.get("accept")?.includes("text/html") || c(t.method || "GET", e) ? "Not Found" : R(e.pathname);
99
- return new Response(o, {
65
+ const url = new URL(request.url);
66
+ const notFoundHtml = !request.headers.get("accept")?.includes("text/html") || isStaticPath(request.method || "GET", url) ? "Not Found" : getNotFound(url.pathname);
67
+ return new Response(notFoundHtml, {
100
68
  status: 404,
101
- headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found": e.pathname }
69
+ headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found": url.pathname }
102
70
  });
103
71
  } catch (e) {
104
- return console.error(e), new Response(String(e || "Error"), {
72
+ console.error(e);
73
+ return new Response(String(e || "Error"), {
105
74
  status: 500,
106
75
  headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "deno-server" }
107
76
  });
108
77
  }
109
- }, f = async (t) => {
110
- const e = t.pathname, o = e.slice(t.pathname.lastIndexOf("/"));
111
- let i;
112
- return o.includes(".") ? i = m(l, e) : globalThis.__NO_TRAILING_SLASH__ ? i = m(l, e, "index.html") : i = m(l, e + "index.html"), {
113
- filePath: i,
78
+ };
79
+ const openStaticFile = async (url) => {
80
+ const pathname = url.pathname;
81
+ const fileName = pathname.slice(url.pathname.lastIndexOf("/"));
82
+ let filePath;
83
+ if (fileName.includes(".")) {
84
+ filePath = join(staticFolder, pathname);
85
+ } else if (!globalThis.__NO_TRAILING_SLASH__) {
86
+ filePath = join(staticFolder, pathname + "index.html");
87
+ } else {
88
+ filePath = join(staticFolder, pathname, "index.html");
89
+ }
90
+ return {
91
+ filePath,
114
92
  // @ts-ignore
115
- content: await Deno.open(i, { read: !0 })
93
+ content: await Deno.open(filePath, { read: true })
116
94
  };
117
95
  };
118
- return {
119
- router: p,
120
- notFound: d,
121
- staticFile: async (t) => {
122
- try {
123
- const e = new URL(t.url);
124
- if (c(t.method || "GET", e)) {
125
- const { filePath: o, content: i } = await f(e), r = S(o).replace(/^\./, "");
126
- return new Response(i.readable, {
127
- status: 200,
128
- headers: {
129
- "content-type": j[r] || "text/plain; charset=utf-8",
130
- "Cache-Control": n.static?.cacheControl || "max-age=3600"
131
- }
132
- });
133
- }
134
- return null;
135
- } catch (e) {
136
- return console.error(e), new Response(String(e || "Error"), {
137
- status: 500,
138
- headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "deno-server" }
96
+ const staticFile = async (request) => {
97
+ try {
98
+ const url = new URL(request.url);
99
+ if (isStaticPath(request.method || "GET", url)) {
100
+ const { filePath, content } = await openStaticFile(url);
101
+ const ext = extname(filePath).replace(/^\./, "");
102
+ return new Response(content.readable, {
103
+ status: 200,
104
+ headers: {
105
+ "content-type": MIME_TYPES[ext] || "text/plain; charset=utf-8",
106
+ "Cache-Control": opts.static?.cacheControl || "max-age=3600"
107
+ }
139
108
  });
140
109
  }
110
+ return null;
111
+ } catch (e) {
112
+ console.error(e);
113
+ return new Response(String(e || "Error"), {
114
+ status: 500,
115
+ headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "deno-server" }
116
+ });
141
117
  }
142
118
  };
119
+ return {
120
+ router,
121
+ notFound,
122
+ staticFile
123
+ };
143
124
  }
144
- const _ = E;
125
+ const createQwikCity = createQwikRouter;
145
126
  export {
146
- _ as createQwikCity,
147
- E as createQwikRouter
127
+ createQwikCity,
128
+ createQwikRouter
148
129
  };
@@ -1 +1,33 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@qwik.dev/router/middleware/node");function r(e){e.qwikCityPlan&&!e.qwikRouterConfig&&(console.warn("qwikCityPlan is deprecated. Simply remove it."),e.qwikRouterConfig=e.qwikCityPlan);const{staticFile:n,notFound:o,router:a}=c.createQwikRouter({render:e.render,manifest:e.manifest,qwikRouterConfig:e.qwikRouterConfig,static:{cacheControl:"public, max-age=31557600"},getOrigin(i){return process.env.IS_OFFLINE?`http://${i.headers.host}`:null}});return(i,t)=>n(i,t,()=>{a(i,t,()=>o(i,t,()=>{}))})}const u=r;exports.createQwikCity=u;exports.createQwikRouter=r;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const node = require("@qwik.dev/router/middleware/node");
4
+ function createQwikRouter(opts) {
5
+ if (opts.qwikCityPlan && !opts.qwikRouterConfig) {
6
+ console.warn("qwikCityPlan is deprecated. Simply remove it.");
7
+ opts.qwikRouterConfig = opts.qwikCityPlan;
8
+ }
9
+ const { staticFile, notFound, router } = node.createQwikRouter({
10
+ render: opts.render,
11
+ manifest: opts.manifest,
12
+ qwikRouterConfig: opts.qwikRouterConfig,
13
+ static: {
14
+ cacheControl: "public, max-age=31557600"
15
+ },
16
+ getOrigin(req) {
17
+ if (process.env.IS_OFFLINE) {
18
+ return `http://${req.headers.host}`;
19
+ }
20
+ return null;
21
+ }
22
+ });
23
+ const qwikApp = (req, res) => {
24
+ return staticFile(req, res, () => {
25
+ router(req, res, () => notFound(req, res, () => {
26
+ }));
27
+ });
28
+ };
29
+ return qwikApp;
30
+ }
31
+ const createQwikCity = createQwikRouter;
32
+ exports.createQwikCity = createQwikCity;
33
+ exports.createQwikRouter = createQwikRouter;
@@ -1,24 +1,33 @@
1
- import { createQwikRouter as a } from "@qwik.dev/router/middleware/node";
2
- function c(e) {
3
- e.qwikCityPlan && !e.qwikRouterConfig && (console.warn("qwikCityPlan is deprecated. Simply remove it."), e.qwikRouterConfig = e.qwikCityPlan);
4
- const { staticFile: r, notFound: n, router: o } = a({
5
- render: e.render,
6
- manifest: e.manifest,
7
- qwikRouterConfig: e.qwikRouterConfig,
1
+ import { createQwikRouter as createQwikRouter$1 } from "@qwik.dev/router/middleware/node";
2
+ function createQwikRouter(opts) {
3
+ if (opts.qwikCityPlan && !opts.qwikRouterConfig) {
4
+ console.warn("qwikCityPlan is deprecated. Simply remove it.");
5
+ opts.qwikRouterConfig = opts.qwikCityPlan;
6
+ }
7
+ const { staticFile, notFound, router } = createQwikRouter$1({
8
+ render: opts.render,
9
+ manifest: opts.manifest,
10
+ qwikRouterConfig: opts.qwikRouterConfig,
8
11
  static: {
9
12
  cacheControl: "public, max-age=31557600"
10
13
  },
11
- getOrigin(i) {
12
- return process.env.IS_OFFLINE ? `http://${i.headers.host}` : null;
14
+ getOrigin(req) {
15
+ if (process.env.IS_OFFLINE) {
16
+ return `http://${req.headers.host}`;
17
+ }
18
+ return null;
13
19
  }
14
20
  });
15
- return (i, t) => r(i, t, () => {
16
- o(i, t, () => n(i, t, () => {
17
- }));
18
- });
21
+ const qwikApp = (req, res) => {
22
+ return staticFile(req, res, () => {
23
+ router(req, res, () => notFound(req, res, () => {
24
+ }));
25
+ });
26
+ };
27
+ return qwikApp;
19
28
  }
20
- const k = c;
29
+ const createQwikCity = createQwikRouter;
21
30
  export {
22
- k as createQwikCity,
23
- c as createQwikRouter
31
+ createQwikCity,
32
+ createQwikRouter
24
33
  };
@@ -1 +1,71 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("@qwik.dev/core/server"),n=require("@qwik.dev/router/middleware/request-handler");function c(t){t.qwikCityPlan&&!t.qwikRouterConfig&&(console.warn("qwikCityPlan is deprecated. Simply remove it."),t.qwikRouterConfig=t.qwikCityPlan),t.manifest&&p.setServerPlatform(t.manifest);async function l(r,o){try{const e=new URL(r.url);if(n.isStaticPath(r.method,e)||e.pathname.startsWith("/.netlify"))return o.next();const u={mode:"server",locale:void 0,url:e,env:Deno.env,request:r,getWritableStream:(i,a,f,m)=>{const{readable:h,writable:w}=new TransformStream,y=new Response(h,{status:i,headers:n.mergeHeadersCookies(a,f)});return m(y),w},getClientConn:()=>({ip:o.ip,country:o.geo.country?.code}),platform:o},s=await n.requestHandler(u,t);if(s){s.completion.then(a=>{a&&console.error(a)});const i=await s.response;if(i)return i}const d=!r.headers.get("accept")?.includes("text/html")||n.isStaticPath(r.method||"GET",e)?"Not Found":n.getNotFound(e.pathname);return new Response(d,{status:404,headers:{"Content-Type":"text/html; charset=utf-8","X-Not-Found":e.pathname}})}catch(e){return console.error(e),new Response(String(e||"Error"),{status:500,headers:{"Content-Type":"text/plain; charset=utf-8","X-Error":"netlify-edge"}})}}return l}const g=c;exports.createQwikCity=g;exports.createQwikRouter=c;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const server = require("@qwik.dev/core/server");
4
+ const requestHandler = require("@qwik.dev/router/middleware/request-handler");
5
+ function createQwikRouter(opts) {
6
+ if (opts.qwikCityPlan && !opts.qwikRouterConfig) {
7
+ console.warn("qwikCityPlan is deprecated. Simply remove it.");
8
+ opts.qwikRouterConfig = opts.qwikCityPlan;
9
+ }
10
+ if (opts.manifest) {
11
+ server.setServerPlatform(opts.manifest);
12
+ }
13
+ async function onNetlifyEdgeRequest(request, context) {
14
+ try {
15
+ const url = new URL(request.url);
16
+ if (requestHandler.isStaticPath(request.method, url) || url.pathname.startsWith("/.netlify")) {
17
+ return context.next();
18
+ }
19
+ const serverRequestEv = {
20
+ mode: "server",
21
+ locale: void 0,
22
+ url,
23
+ env: Deno.env,
24
+ request,
25
+ getWritableStream: (status, headers, cookies, resolve) => {
26
+ const { readable, writable } = new TransformStream();
27
+ const response = new Response(readable, {
28
+ status,
29
+ headers: requestHandler.mergeHeadersCookies(headers, cookies)
30
+ });
31
+ resolve(response);
32
+ return writable;
33
+ },
34
+ getClientConn: () => {
35
+ return {
36
+ ip: context.ip,
37
+ country: context.geo.country?.code
38
+ };
39
+ },
40
+ platform: context
41
+ };
42
+ const handledResponse = await requestHandler.requestHandler(serverRequestEv, opts);
43
+ if (handledResponse) {
44
+ handledResponse.completion.then((v) => {
45
+ if (v) {
46
+ console.error(v);
47
+ }
48
+ });
49
+ const response = await handledResponse.response;
50
+ if (response) {
51
+ return response;
52
+ }
53
+ }
54
+ const notFoundHtml = !request.headers.get("accept")?.includes("text/html") || requestHandler.isStaticPath(request.method || "GET", url) ? "Not Found" : requestHandler.getNotFound(url.pathname);
55
+ return new Response(notFoundHtml, {
56
+ status: 404,
57
+ headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found": url.pathname }
58
+ });
59
+ } catch (e) {
60
+ console.error(e);
61
+ return new Response(String(e || "Error"), {
62
+ status: 500,
63
+ headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "netlify-edge" }
64
+ });
65
+ }
66
+ }
67
+ return onNetlifyEdgeRequest;
68
+ }
69
+ const createQwikCity = createQwikRouter;
70
+ exports.createQwikCity = createQwikCity;
71
+ exports.createQwikRouter = createQwikRouter;
@@ -1,55 +1,71 @@
1
- import { setServerPlatform as w } from "@qwik.dev/core/server";
2
- import { isStaticPath as s, mergeHeadersCookies as y, requestHandler as g, getNotFound as C } from "@qwik.dev/router/middleware/request-handler";
3
- function R(t) {
4
- t.qwikCityPlan && !t.qwikRouterConfig && (console.warn("qwikCityPlan is deprecated. Simply remove it."), t.qwikRouterConfig = t.qwikCityPlan), t.manifest && w(t.manifest);
5
- async function l(n, r) {
1
+ import { setServerPlatform } from "@qwik.dev/core/server";
2
+ import { isStaticPath, mergeHeadersCookies, requestHandler, getNotFound } from "@qwik.dev/router/middleware/request-handler";
3
+ function createQwikRouter(opts) {
4
+ if (opts.qwikCityPlan && !opts.qwikRouterConfig) {
5
+ console.warn("qwikCityPlan is deprecated. Simply remove it.");
6
+ opts.qwikRouterConfig = opts.qwikCityPlan;
7
+ }
8
+ if (opts.manifest) {
9
+ setServerPlatform(opts.manifest);
10
+ }
11
+ async function onNetlifyEdgeRequest(request, context) {
6
12
  try {
7
- const e = new URL(n.url);
8
- if (s(n.method, e) || e.pathname.startsWith("/.netlify"))
9
- return r.next();
10
- const c = {
13
+ const url = new URL(request.url);
14
+ if (isStaticPath(request.method, url) || url.pathname.startsWith("/.netlify")) {
15
+ return context.next();
16
+ }
17
+ const serverRequestEv = {
11
18
  mode: "server",
12
19
  locale: void 0,
13
- url: e,
20
+ url,
14
21
  env: Deno.env,
15
- request: n,
16
- getWritableStream: (o, a, u, d) => {
17
- const { readable: f, writable: h } = new TransformStream(), p = new Response(f, {
18
- status: o,
19
- headers: y(a, u)
22
+ request,
23
+ getWritableStream: (status, headers, cookies, resolve) => {
24
+ const { readable, writable } = new TransformStream();
25
+ const response = new Response(readable, {
26
+ status,
27
+ headers: mergeHeadersCookies(headers, cookies)
20
28
  });
21
- return d(p), h;
29
+ resolve(response);
30
+ return writable;
31
+ },
32
+ getClientConn: () => {
33
+ return {
34
+ ip: context.ip,
35
+ country: context.geo.country?.code
36
+ };
22
37
  },
23
- getClientConn: () => ({
24
- ip: r.ip,
25
- country: r.geo.country?.code
26
- }),
27
- platform: r
28
- }, i = await g(c, t);
29
- if (i) {
30
- i.completion.then((a) => {
31
- a && console.error(a);
38
+ platform: context
39
+ };
40
+ const handledResponse = await requestHandler(serverRequestEv, opts);
41
+ if (handledResponse) {
42
+ handledResponse.completion.then((v) => {
43
+ if (v) {
44
+ console.error(v);
45
+ }
32
46
  });
33
- const o = await i.response;
34
- if (o)
35
- return o;
47
+ const response = await handledResponse.response;
48
+ if (response) {
49
+ return response;
50
+ }
36
51
  }
37
- const m = !n.headers.get("accept")?.includes("text/html") || s(n.method || "GET", e) ? "Not Found" : C(e.pathname);
38
- return new Response(m, {
52
+ const notFoundHtml = !request.headers.get("accept")?.includes("text/html") || isStaticPath(request.method || "GET", url) ? "Not Found" : getNotFound(url.pathname);
53
+ return new Response(notFoundHtml, {
39
54
  status: 404,
40
- headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found": e.pathname }
55
+ headers: { "Content-Type": "text/html; charset=utf-8", "X-Not-Found": url.pathname }
41
56
  });
42
57
  } catch (e) {
43
- return console.error(e), new Response(String(e || "Error"), {
58
+ console.error(e);
59
+ return new Response(String(e || "Error"), {
44
60
  status: 500,
45
61
  headers: { "Content-Type": "text/plain; charset=utf-8", "X-Error": "netlify-edge" }
46
62
  });
47
63
  }
48
64
  }
49
- return l;
65
+ return onNetlifyEdgeRequest;
50
66
  }
51
- const S = R;
67
+ const createQwikCity = createQwikRouter;
52
68
  export {
53
- S as createQwikCity,
54
- R as createQwikRouter
69
+ createQwikCity,
70
+ createQwikRouter
55
71
  };