@ereo/server 0.2.36 → 0.2.37

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.
@@ -80,6 +80,9 @@ export interface ServerOptions {
80
80
  * Bun server instance.
81
81
  */
82
82
  export declare class BunServer {
83
+ private static readonly HTTP_METHODS;
84
+ private static readonly METHOD_OVERRIDE_HEADER;
85
+ private static readonly METHOD_OVERRIDE_ALLOWED;
83
86
  private server;
84
87
  private app;
85
88
  private router;
@@ -171,6 +174,7 @@ export declare class BunServer {
171
174
  * Render an error page.
172
175
  */
173
176
  private renderErrorPage;
177
+ private getEffectiveMethod;
174
178
  /**
175
179
  * Build meta descriptors from route's meta function.
176
180
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bun-server.d.ts","sourceRoot":"","sources":["../src/bun-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bun-server.d.ts","sourceRoot":"","sources":["../src/bun-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,EAAmE,iBAAiB,EAA0C,MAAM,YAAY,CAAC;AAC7J,OAAO,EAAiC,OAAO,EAAiB,MAAM,YAAY,CAAC;AACnF,OAAO,EAAE,UAAU,EAAwD,MAAM,cAAc,CAAC;AAChG,OAAO,EAIL,IAAI,EACJ,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAe,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAA+C,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAgE9F;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,6BAA6B;IAC7B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,wBAAwB;IACxB,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACzD,kBAAkB;IAClB,GAAG,CAAC,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,wFAAwF;IACxF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,OAAO,GAAG;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,UAAU,EAAE,iBAAiB,CAAC;QAC9B,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAC;QAC3C,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,CAAC;QAC9C,iDAAiD;QACjD,cAAc,CAAC,EAAE;YACf,SAAS,EAAE;gBACT,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;gBACxB,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC;gBACzB,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;aACtD,CAAC;SACH,CAAC;QACF,sDAAsD;QACtD,aAAa,CAAC,EAAE;YACd,aAAa,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;YACjC,eAAe,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAClD,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;SACtF,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAyE;IAC7G,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAa;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAuC;IAEtF,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,GAAG,CAAwB;IACnC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,aAAa,CAAiE;IACtF,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,iBAAiB,CAIjB;gBAEI,OAAO,GAAE,aAAkB;IAoBvC;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAI1B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAOnC;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IACrC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IASnD,6DAA6D;IAC7D,OAAO,KAAK,kBAAkB,GAK7B;IAED,sFAAsF;IACtF,OAAO,CAAC,gBAAgB;IAUxB;;;OAGG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAI5G;;OAEG;YACW,aAAa;IA0H3B;;OAEG;YACW,sBAAsB;IA2BpC;;OAEG;YACW,WAAW;IAuBzB;;OAEG;YACW,uBAAuB;IAoBrC;;OAEG;YACW,gBAAgB;IAwP9B;;OAEG;YACW,UAAU;IAsGxB;;;;;;;OAOG;YACW,mBAAmB;IAiHjC;;OAEG;YACW,gBAAgB;IAoC9B;;;;;;OAMG;YACW,yBAAyB;IAqHvC;;OAEG;YACW,sBAAsB;IAkDpC;;OAEG;YACW,iBAAiB;IAqC/B;;OAEG;IACH,OAAO,CAAC,eAAe;YA+BT,kBAAkB;IA8BhC;;OAEG;IACH,OAAO,CAAC,SAAS;IA0BjB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,aAAa;IA0BrB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA4CzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,OAAO,CAAC,UAAU;IASlB;;;OAGG;YACW,iBAAiB;IAmD/B;;OAEG;YACW,uBAAuB;IA8ErC;;OAEG;IACH,OAAO,CAAC,WAAW;IA0CnB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAkHvC;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ7B;;OAEG;IACH,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI;IAInC;;OAEG;IACH,OAAO,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE;CAOpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAE/D;AAED;;GAEG;AACH,wBAAsB,KAAK,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAIvE"}
package/dist/index.js CHANGED
@@ -70,6 +70,7 @@ function cors(options = {}) {
70
70
  } = options;
71
71
  return async (request, context, next) => {
72
72
  const requestOrigin = request.headers.get("Origin");
73
+ const isWildcardOrigin = typeof origin === "string" && origin === "*";
73
74
  let allowedOrigin = null;
74
75
  if (typeof origin === "string") {
75
76
  allowedOrigin = origin;
@@ -78,22 +79,39 @@ function cors(options = {}) {
78
79
  } else if (typeof origin === "function") {
79
80
  allowedOrigin = requestOrigin && origin(requestOrigin) ? requestOrigin : null;
80
81
  }
82
+ const responseOrigin = (() => {
83
+ if (allowedOrigin === "*") {
84
+ if (credentials && requestOrigin) {
85
+ return requestOrigin;
86
+ }
87
+ return "*";
88
+ }
89
+ return allowedOrigin;
90
+ })();
91
+ const shouldVaryOrigin = !isWildcardOrigin || credentials && !!requestOrigin;
81
92
  if (request.method === "OPTIONS") {
93
+ if (requestOrigin && !responseOrigin) {
94
+ return new Response(null, { status: 403 });
95
+ }
82
96
  return new Response(null, {
83
97
  status: 204,
84
98
  headers: {
85
- "Access-Control-Allow-Origin": allowedOrigin || "*",
99
+ ...responseOrigin ? { "Access-Control-Allow-Origin": responseOrigin } : {},
86
100
  "Access-Control-Allow-Methods": methods.join(", "),
87
101
  "Access-Control-Allow-Headers": allowedHeaders.join(", "),
88
102
  "Access-Control-Max-Age": maxAge.toString(),
89
- ...credentials && { "Access-Control-Allow-Credentials": "true" }
103
+ ...credentials && { "Access-Control-Allow-Credentials": "true" },
104
+ ...shouldVaryOrigin ? { Vary: "Origin" } : {}
90
105
  }
91
106
  });
92
107
  }
93
108
  const response = await next();
94
109
  const headers = new Headers(response.headers);
95
- if (allowedOrigin) {
96
- headers.set("Access-Control-Allow-Origin", allowedOrigin);
110
+ if (responseOrigin) {
111
+ headers.set("Access-Control-Allow-Origin", responseOrigin);
112
+ if (shouldVaryOrigin) {
113
+ headers.set("Vary", "Origin");
114
+ }
97
115
  }
98
116
  if (exposedHeaders.length > 0) {
99
117
  headers.set("Access-Control-Expose-Headers", exposedHeaders.join(", "));
@@ -306,6 +324,7 @@ function serveStatic(options) {
306
324
  }
307
325
  const resolvedRoot = resolve(root);
308
326
  let filepath = resolve(root, normalize(pathname.replace(/^\//, "")));
327
+ const requestedExt = extname(filepath).toLowerCase();
309
328
  if (!filepath.startsWith(resolvedRoot)) {
310
329
  return new Response("Forbidden", { status: 403 });
311
330
  }
@@ -344,8 +363,7 @@ function serveStatic(options) {
344
363
  } else if (maxAge > 0) {
345
364
  headers.set("Cache-Control", `public, max-age=${maxAge}`);
346
365
  }
347
- const ext = extname(filepath).toLowerCase();
348
- if (negotiateImageFormat && NEGOTIABLE_IMAGE_EXTENSIONS.includes(ext)) {
366
+ if (negotiateImageFormat && NEGOTIABLE_IMAGE_EXTENSIONS.includes(requestedExt)) {
349
367
  headers.set("Vary", "Accept");
350
368
  }
351
369
  const ifNoneMatch = request.headers.get("If-None-Match");
@@ -456,7 +474,7 @@ function createShell(options) {
456
474
  `);
457
475
  const scriptTags = scripts.map((src) => `<script type="module" src="${escapeAttr(src)}"></script>`).join(`
458
476
  `);
459
- const loaderScript = loaderData ? `<script>window.__EREO_DATA__=${serializeLoaderData(loaderData)}</script>` : "";
477
+ const loaderScript = loaderData === undefined ? "" : `<script>window.__EREO_DATA__=${serializeLoaderData(loaderData)}</script>`;
460
478
  const head = `<!DOCTYPE html>
461
479
  <html ${htmlAttrs}>
462
480
  <head>
@@ -480,20 +498,23 @@ function createShell(options) {
480
498
  async function renderToStream(element, options) {
481
499
  const { renderToPipeableStream } = await import("react-dom/server");
482
500
  const { shell, scripts = [], styles = [] } = options;
483
- let loaderData = null;
501
+ let loaderData = undefined;
484
502
  if (options.match.route.module?.loader) {
485
503
  loaderData = await options.match.route.module.loader({
486
504
  request: options.request ?? new Request("http://localhost"),
487
505
  params: options.match.params,
488
506
  context: options.context
489
507
  });
508
+ if (loaderData === undefined) {
509
+ loaderData = null;
510
+ }
490
511
  }
491
- const hasDeferred = hasDeferredData(loaderData);
512
+ const hasDeferred = loaderData !== undefined && hasDeferredData(loaderData);
492
513
  const { head, tail } = createShell({
493
514
  shell,
494
515
  scripts: [],
495
516
  styles,
496
- loaderData: hasDeferred ? null : loaderData
517
+ loaderData: hasDeferred ? undefined : loaderData
497
518
  });
498
519
  return new Promise((resolve2, reject) => {
499
520
  const { PassThrough } = __require("stream");
@@ -579,15 +600,18 @@ async function renderToStream(element, options) {
579
600
  async function renderToString(element, options) {
580
601
  const { renderToString: reactRenderToString } = await import("react-dom/server");
581
602
  const { shell, scripts = [], styles = [] } = options;
582
- let loaderData = null;
603
+ let loaderData = undefined;
583
604
  if (options.match.route.module?.loader) {
584
605
  loaderData = await options.match.route.module.loader({
585
606
  request: options.request ?? new Request("http://localhost"),
586
607
  params: options.match.params,
587
608
  context: options.context
588
609
  });
610
+ if (loaderData === undefined) {
611
+ loaderData = null;
612
+ }
589
613
  }
590
- if (hasDeferredData(loaderData)) {
614
+ if (loaderData !== undefined && hasDeferredData(loaderData)) {
591
615
  loaderData = await resolveAllDeferred(loaderData);
592
616
  }
593
617
  const { head, tail } = createShell({ shell, scripts, styles, loaderData });
@@ -694,6 +718,9 @@ async function getStreamingRenderer() {
694
718
  }
695
719
 
696
720
  class BunServer {
721
+ static HTTP_METHODS = ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS", "HEAD"];
722
+ static METHOD_OVERRIDE_HEADER = "_method";
723
+ static METHOD_OVERRIDE_ALLOWED = new Set(["PUT", "PATCH", "DELETE"]);
697
724
  server = null;
698
725
  app = null;
699
726
  router = null;
@@ -885,15 +912,14 @@ class BunServer {
885
912
  }
886
913
  async handleRouteInner(request, match, context) {
887
914
  const module = match.route.module;
915
+ const httpMethod = await this.getEffectiveMethod(request);
888
916
  const routeAuthConfig = match.route.config?.auth || module.config?.auth;
889
917
  if (routeAuthConfig) {
890
918
  const denied = await enforceAuthConfig(routeAuthConfig, request, context, match.params);
891
919
  if (denied)
892
920
  return denied;
893
921
  }
894
- const httpMethod = request.method.toUpperCase();
895
- const HTTP_METHODS = ["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS", "HEAD"];
896
- if (HTTP_METHODS.includes(httpMethod)) {
922
+ if (BunServer.HTTP_METHODS.includes(httpMethod)) {
897
923
  const methodHandler = module[httpMethod];
898
924
  if (typeof methodHandler === "function") {
899
925
  const result = await methodHandler({ request, params: match.params, context });
@@ -920,7 +946,7 @@ class BunServer {
920
946
  if (module.beforeLoad) {
921
947
  await module.beforeLoad({ request, params: match.params, context });
922
948
  }
923
- if (request.method !== "GET" && request.method !== "HEAD") {
949
+ if (httpMethod !== "GET" && httpMethod !== "HEAD") {
924
950
  if (module.action) {
925
951
  const result = await module.action({
926
952
  request,
@@ -941,20 +967,23 @@ class BunServer {
941
967
  }
942
968
  const loaderArgs2 = { request, params: match.params, context };
943
969
  const loaderPromises2 = [];
944
- loaderPromises2.push(module.loader ? Promise.resolve(module.loader(loaderArgs2)) : Promise.resolve(null));
970
+ loaderPromises2.push(module.loader ? Promise.resolve(module.loader(loaderArgs2)) : Promise.resolve(undefined));
945
971
  for (const layout of layouts) {
946
- loaderPromises2.push(layout.module?.loader ? Promise.resolve(layout.module.loader(loaderArgs2)) : Promise.resolve(null));
972
+ loaderPromises2.push(layout.module?.loader ? Promise.resolve(layout.module.loader(loaderArgs2)) : Promise.resolve(undefined));
947
973
  }
948
974
  const loaderResults2 = await Promise.all(loaderPromises2);
949
- const loaderData2 = loaderResults2[0];
975
+ const loaderData2 = module.loader && loaderResults2[0] === undefined ? null : loaderResults2[0];
950
976
  if (loaderData2 instanceof Response)
951
977
  return loaderData2;
952
978
  const layoutLoaderData2 = new Map;
953
979
  for (let i = 0;i < layouts.length; i++) {
954
- const layoutData = loaderResults2[i + 1];
980
+ let layoutData = loaderResults2[i + 1];
981
+ if (layouts[i].module?.loader && layoutData === undefined) {
982
+ layoutData = null;
983
+ }
955
984
  if (layoutData instanceof Response)
956
985
  return layoutData;
957
- if (layoutData !== null)
986
+ if (layoutData !== undefined)
958
987
  layoutLoaderData2.set(layouts[i].id, layoutData);
959
988
  }
960
989
  const routeHeaders2 = this.buildRouteHeaders(match);
@@ -971,14 +1000,14 @@ class BunServer {
971
1000
  const loaderFn = () => module.loader(loaderArgs);
972
1001
  loaderPromises.push(activeSpan ? Promise.resolve(inst.traceLoader(activeSpan, match.route.id || "route", loaderFn)) : Promise.resolve(loaderFn()));
973
1002
  } else {
974
- loaderPromises.push(Promise.resolve(null));
1003
+ loaderPromises.push(Promise.resolve(undefined));
975
1004
  }
976
1005
  for (const layout of layouts) {
977
1006
  if (layout.module?.loader) {
978
1007
  const layoutLoaderFn = () => layout.module.loader(loaderArgs);
979
1008
  loaderPromises.push(activeSpan ? Promise.resolve(inst.traceLoader(activeSpan, `layout:${layout.id}`, layoutLoaderFn)) : Promise.resolve(layoutLoaderFn()));
980
1009
  } else {
981
- loaderPromises.push(Promise.resolve(null));
1010
+ loaderPromises.push(Promise.resolve(undefined));
982
1011
  }
983
1012
  }
984
1013
  let loaderResults;
@@ -997,23 +1026,26 @@ class BunServer {
997
1026
  }
998
1027
  throw thrownError;
999
1028
  }
1000
- const loaderData = loaderResults[0];
1029
+ const loaderData = module.loader && loaderResults[0] === undefined ? null : loaderResults[0];
1001
1030
  if (loaderData instanceof Response) {
1002
1031
  return loaderData;
1003
1032
  }
1004
1033
  const layoutLoaderData = new Map;
1005
1034
  for (let i = 0;i < layouts.length; i++) {
1006
- const layoutData = loaderResults[i + 1];
1035
+ let layoutData = loaderResults[i + 1];
1036
+ if (layouts[i].module?.loader && layoutData === undefined) {
1037
+ layoutData = null;
1038
+ }
1007
1039
  if (layoutData instanceof Response) {
1008
1040
  return layoutData;
1009
1041
  }
1010
- if (layoutData !== null) {
1042
+ if (layoutData !== undefined) {
1011
1043
  layoutLoaderData.set(layouts[i].id, layoutData);
1012
1044
  }
1013
1045
  }
1014
1046
  const routeHeaders = this.buildRouteHeaders(match);
1015
1047
  if (request.headers.get("Accept")?.includes("application/json")) {
1016
- const resolvedLoaderData = hasDeferredData2(loaderData) ? await resolveAllDeferred2(loaderData) : loaderData;
1048
+ const resolvedLoaderData = loaderData === undefined ? null : hasDeferredData2(loaderData) ? await resolveAllDeferred2(loaderData) : loaderData;
1017
1049
  const jsonPayload = {
1018
1050
  data: resolvedLoaderData,
1019
1051
  params: match.params
@@ -1239,7 +1271,7 @@ class BunServer {
1239
1271
  console.error("Streaming render error:", error);
1240
1272
  }
1241
1273
  });
1242
- const loaderScript = !hasDeferred && loaderData ? encoder.encode(`${traceScript}<script>window.__EREO_DATA__=${serializeLoaderData2(loaderData)}</script>`) : traceScript ? encoder.encode(traceScript) : null;
1274
+ const loaderScript = !hasDeferred && loaderData !== undefined ? encoder.encode(`${traceScript}<script>window.__EREO_DATA__=${serializeLoaderData2(loaderData)}</script>`) : traceScript ? encoder.encode(traceScript) : null;
1243
1275
  const metaHtml = metaDescriptors.length > 0 ? this.buildMetaHtml(metaDescriptors) : "";
1244
1276
  let metaInjected = metaHtml.length === 0;
1245
1277
  const decoder = new TextDecoder;
@@ -1308,7 +1340,7 @@ class BunServer {
1308
1340
  if (metaDescriptors.length > 0) {
1309
1341
  html = this.injectMetaIntoHtml(html, metaDescriptors);
1310
1342
  }
1311
- const loaderScript = resolvedData ? `${traceScript}<script>window.__EREO_DATA__=${serializeLoaderData2(resolvedData)}</script>` : traceScript;
1343
+ const loaderScript = resolvedData !== undefined ? `${traceScript}<script>window.__EREO_DATA__=${serializeLoaderData2(resolvedData)}</script>` : traceScript;
1312
1344
  const clientScript = `<script type="module" src="${this.options.clientEntry}"></script>`;
1313
1345
  if (html.includes("</body>")) {
1314
1346
  html = html.replace("</body>", `${loaderScript}${clientScript}</body>`);
@@ -1386,6 +1418,28 @@ class BunServer {
1386
1418
  }
1387
1419
  });
1388
1420
  }
1421
+ async getEffectiveMethod(request) {
1422
+ const method = request.method.toUpperCase();
1423
+ if (method !== "POST") {
1424
+ return method;
1425
+ }
1426
+ const contentType = request.headers.get("Content-Type") || "";
1427
+ const isFormSubmission = contentType.includes("application/x-www-form-urlencoded") || contentType.includes("multipart/form-data");
1428
+ if (!isFormSubmission) {
1429
+ return method;
1430
+ }
1431
+ try {
1432
+ const formData = await request.clone().formData();
1433
+ const override = formData.get(BunServer.METHOD_OVERRIDE_HEADER);
1434
+ if (typeof override !== "string") {
1435
+ return method;
1436
+ }
1437
+ const normalized = override.toUpperCase();
1438
+ return BunServer.METHOD_OVERRIDE_ALLOWED.has(normalized) ? normalized : method;
1439
+ } catch {
1440
+ return method;
1441
+ }
1442
+ }
1389
1443
  buildMeta(module, loaderData, params, url) {
1390
1444
  if (!module.meta) {
1391
1445
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAgB,UAAU,EAAE,MAAM,YAAY,CAAC;AAG9E;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,6EAA6E;IAC7E,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAA8B;IAEjD;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IACrC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAUnD;;;;;;;OAOG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAC7B,OAAO,CAAC,QAAQ,CAAC;IAwBpB;;OAEG;IACH,OAAO,CAAC,SAAS;CAQlB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD;AAMD;;GAEG;AACH,wBAAgB,MAAM,IAAI,iBAAiB,CAc1C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,iBAAiB,CAyDjE;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,KAAK,CAAC;IAC9C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpC;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,iBAAiB,CAmCvF;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CA+B5C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;CAC7C;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,iBAAiB,CA8D3E"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAgB,UAAU,EAAE,MAAM,YAAY,CAAC;AAG9E;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,6EAA6E;IAC7E,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAA8B;IAEjD;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IACrC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAUnD;;;;;;;OAOG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAC7B,OAAO,CAAC,QAAQ,CAAC;IAwBpB;;OAEG;IACH,OAAO,CAAC,SAAS;CAQlB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAEvD;AAMD;;GAEG;AACH,wBAAgB,MAAM,IAAI,iBAAiB,CAc1C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IAC3D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,iBAAiB,CAgFjE;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qBAAqB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,KAAK,CAAC;IAC9C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACpC;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,iBAAiB,CAmCvF;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CA+B5C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;CAC7C;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,iBAAiB,CA8D3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuCH;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAwDD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAsJlG;AAiDD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,IAGvC,SAAS,OAAO,EAAE,SAAS,GAAG,EAAE,MAAM,MAAM,OAAO,CAAC,QAAQ,CAAC,uBAK5E"}
1
+ {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuCH;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAwDD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAuJlG;AAiDD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,IAGvC,SAAS,OAAO,EAAE,SAAS,GAAG,EAAE,MAAM,MAAM,OAAO,CAAC,QAAQ,CAAC,uBAK5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAS,UAAU,EAAE,UAAU,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAGhG;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kBAAkB;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,sBAAsB;IACtB,OAAO,EAAE,UAAU,CAAC;IACpB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,uBAAuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,uDAAuD;IACvD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,uBAAuB;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE;IACnC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA+DjC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAuHvB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAgCvB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAK7D"}
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../src/streaming.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAS,UAAU,EAAE,UAAU,EAAkB,cAAc,EAAE,MAAM,YAAY,CAAC;AAGhG;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kBAAkB;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,sBAAsB;IACtB,OAAO,EAAE,UAAU,CAAC;IACpB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,uBAAuB;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,uDAAuD;IACvD,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,uBAAuB;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE;IACnC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CA+DjC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CA0HvB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAmCvB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAK7D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ereo/server",
3
- "version": "0.2.36",
3
+ "version": "0.2.37",
4
4
  "license": "MIT",
5
5
  "author": "Enoch Kujem Abassey",
6
6
  "homepage": "https://ereojs.github.io/ereoJS",
@@ -32,10 +32,10 @@
32
32
  "typecheck": "tsc --noEmit"
33
33
  },
34
34
  "dependencies": {
35
- "@ereo/core": "^0.2.36",
36
- "@ereo/client": "^0.2.36",
37
- "@ereo/router": "^0.2.36",
38
- "@ereo/data": "^0.2.36"
35
+ "@ereo/core": "^0.2.37",
36
+ "@ereo/client": "^0.2.37",
37
+ "@ereo/router": "^0.2.37",
38
+ "@ereo/data": "^0.2.37"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/bun": "^1.1.0",