@effect/platform-bun 0.2.0 → 0.2.1

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 (44) hide show
  1. package/Http/Platform.d.ts +25 -0
  2. package/Http/Platform.d.ts.map +1 -0
  3. package/Http/{ServerResponse.js → Platform.js} +18 -14
  4. package/Http/Platform.js.map +1 -0
  5. package/Http/Server.d.ts +3 -3
  6. package/Http/Server.d.ts.map +1 -1
  7. package/Http/Server.js.map +1 -1
  8. package/HttpServer.d.ts +3 -3
  9. package/HttpServer.d.ts.map +1 -1
  10. package/HttpServer.js +2 -2
  11. package/HttpServer.js.map +1 -1
  12. package/internal/http/platform.d.ts +2 -0
  13. package/internal/http/platform.d.ts.map +1 -0
  14. package/internal/http/{serverResponse.js → platform.js} +28 -41
  15. package/internal/http/platform.js.map +1 -0
  16. package/internal/http/server.js +12 -5
  17. package/internal/http/server.js.map +1 -1
  18. package/mjs/Http/Platform.mjs +16 -0
  19. package/mjs/Http/Platform.mjs.map +1 -0
  20. package/mjs/Http/Server.mjs.map +1 -1
  21. package/mjs/HttpServer.mjs +3 -3
  22. package/mjs/HttpServer.mjs.map +1 -1
  23. package/mjs/internal/http/platform.mjs +29 -0
  24. package/mjs/internal/http/platform.mjs.map +1 -0
  25. package/mjs/internal/http/server.mjs +12 -5
  26. package/mjs/internal/http/server.mjs.map +1 -1
  27. package/package.json +2 -2
  28. package/src/Http/Platform.ts +28 -0
  29. package/src/Http/Server.ts +3 -3
  30. package/src/HttpServer.ts +3 -3
  31. package/src/internal/http/platform.ts +27 -0
  32. package/src/internal/http/server.ts +12 -5
  33. package/Http/ServerResponse.d.ts +0 -23
  34. package/Http/ServerResponse.d.ts.map +0 -1
  35. package/Http/ServerResponse.js.map +0 -1
  36. package/internal/http/serverResponse.d.ts +0 -2
  37. package/internal/http/serverResponse.d.ts.map +0 -1
  38. package/internal/http/serverResponse.js.map +0 -1
  39. package/mjs/Http/ServerResponse.mjs +0 -13
  40. package/mjs/Http/ServerResponse.mjs.map +0 -1
  41. package/mjs/internal/http/serverResponse.mjs +0 -42
  42. package/mjs/internal/http/serverResponse.mjs.map +0 -1
  43. package/src/Http/ServerResponse.ts +0 -33
  44. package/src/internal/http/serverResponse.ts +0 -52
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @since 1.0.0
3
+ *
4
+ * Also includes exports from [`@effect/platform/Http/Platform`](https://effect-ts.github.io/platform/platform/Http/Platform.ts.html).
5
+ */
6
+ import type * as Effect from "@effect/io/Effect";
7
+ import type * as Layer from "@effect/io/Layer";
8
+ import type * as FileSystem from "@effect/platform-bun/FileSystem";
9
+ import type * as Etag from "@effect/platform/Http/Etag";
10
+ import type * as Platform from "@effect/platform/Http/Platform";
11
+ /**
12
+ * @since 1.0.0
13
+ */
14
+ export * from "@effect/platform/Http/Platform";
15
+ /**
16
+ * @since 1.0.0
17
+ * @category constructors
18
+ */
19
+ export declare const make: Effect.Effect<FileSystem.FileSystem | Etag.Generator, never, Platform.Platform>;
20
+ /**
21
+ * @since 1.0.0
22
+ * @category layers
23
+ */
24
+ export declare const layer: Layer.Layer<never, never, Platform.Platform>;
25
+ //# sourceMappingURL=Platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../src/Http/Platform.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAElE,OAAO,KAAK,KAAK,IAAI,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAA;AAE/D;;GAEG;AACH,cAAc,gCAAgC,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAiB,CAAA;AAElH;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAkB,CAAA"}
@@ -4,20 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  var _exportNames = {
7
- file: true,
8
- fileWeb: true
7
+ make: true,
8
+ layer: true
9
9
  };
10
- exports.fileWeb = exports.file = void 0;
11
- var internal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-bun/internal/http/serverResponse"));
12
- var _ServerResponse = /*#__PURE__*/require("@effect/platform/Http/ServerResponse");
13
- Object.keys(_ServerResponse).forEach(function (key) {
10
+ exports.make = exports.layer = void 0;
11
+ var internal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-bun/internal/http/platform"));
12
+ var _Platform = /*#__PURE__*/require("@effect/platform/Http/Platform");
13
+ Object.keys(_Platform).forEach(function (key) {
14
14
  if (key === "default" || key === "__esModule") return;
15
15
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
16
- if (key in exports && exports[key] === _ServerResponse[key]) return;
16
+ if (key in exports && exports[key] === _Platform[key]) return;
17
17
  Object.defineProperty(exports, key, {
18
18
  enumerable: true,
19
19
  get: function () {
20
- return _ServerResponse[key];
20
+ return _Platform[key];
21
21
  }
22
22
  });
23
23
  });
@@ -25,14 +25,18 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
26
  /**
27
27
  * @since 1.0.0
28
- * @category constructors
29
28
  */
30
- const file = internal.file;
29
+
31
30
  /**
32
31
  * @since 1.0.0
33
32
  * @category constructors
34
33
  */
35
- exports.file = file;
36
- const fileWeb = internal.fileWeb;
37
- exports.fileWeb = fileWeb;
38
- //# sourceMappingURL=ServerResponse.js.map
34
+ const make = internal.make;
35
+ /**
36
+ * @since 1.0.0
37
+ * @category layers
38
+ */
39
+ exports.make = make;
40
+ const layer = internal.layer;
41
+ exports.layer = layer;
42
+ //# sourceMappingURL=Platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Platform.js","names":["internal","_interopRequireWildcard","require","_Platform","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","make","layer"],"sources":["../src/Http/Platform.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAQA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAOA,IAAAC,SAAA,gBAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,SAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,SAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,SAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAA8C,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAhB,wBAAAoB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAH9C;;;;AAKA;;;;AAIO,MAAMK,IAAI,GAAoF/B,QAAQ,CAAC+B,IAAI;AAElH;;;;AAAAnB,OAAA,CAAAmB,IAAA,GAAAA,IAAA;AAIO,MAAMC,KAAK,GAAiDhC,QAAQ,CAACgC,KAAK;AAAApB,OAAA,CAAAoB,KAAA,GAAAA,KAAA"}
package/Http/Server.d.ts CHANGED
@@ -9,7 +9,7 @@ import type * as ConfigError from "@effect/io/ConfigError";
9
9
  import type * as Effect from "@effect/io/Effect";
10
10
  import type * as Layer from "@effect/io/Layer";
11
11
  import type * as Scope from "@effect/io/Scope";
12
- import type * as Etag from "@effect/platform/Http/Etag";
12
+ import type * as Platform from "@effect/platform-bun/Http/Platform";
13
13
  import type * as Server from "@effect/platform/Http/Server";
14
14
  import type { ServeOptions } from "bun";
15
15
  /**
@@ -25,10 +25,10 @@ export declare const make: (options: Omit<ServeOptions, "fetch" | "error">) => E
25
25
  * @since 1.0.0
26
26
  * @category layers
27
27
  */
28
- export declare const layer: (options: Omit<ServeOptions, "fetch" | "error">) => Layer.Layer<never, never, Server.Server | Etag.Generator>;
28
+ export declare const layer: (options: Omit<ServeOptions, "fetch" | "error">) => Layer.Layer<never, never, Server.Server | Platform.Platform>;
29
29
  /**
30
30
  * @since 1.0.0
31
31
  * @category layers
32
32
  */
33
- export declare const layerConfig: (options: Config.Config.Wrap<Omit<ServeOptions, "fetch" | "error">>) => Layer.Layer<never, ConfigError.ConfigError, Server.Server | Etag.Generator>;
33
+ export declare const layerConfig: (options: Config.Config.Wrap<Omit<ServeOptions, "fetch" | "error">>) => Layer.Layer<never, ConfigError.ConfigError, Server.Server | Platform.Platform>;
34
34
  //# sourceMappingURL=Server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../src/Http/Server.ts"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,WAAW,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,KAAK,IAAI,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAEvC;;GAEG;AACH,cAAc,8BAA8B,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,KAC3C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAiB,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAClB,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,KAC3C,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAkB,CAAA;AAE/E;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,KAC/D,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAwB,CAAA"}
1
+ {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../src/Http/Server.ts"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,WAAW,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,KAAK,QAAQ,MAAM,oCAAoC,CAAA;AAEnE,OAAO,KAAK,KAAK,MAAM,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAEvC;;GAEG;AACH,cAAc,8BAA8B,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,KAC3C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAiB,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAClB,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,KAC3C,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAkB,CAAA;AAElF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,CACxB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,KAC/D,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAwB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","names":["internal","_interopRequireWildcard","require","_Server","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","make","layer","layerConfig"],"sources":["../src/Http/Server.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;AAUA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAQA,IAAAC,OAAA,gBAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAA4C,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAhB,wBAAAoB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAH5C;;;;AAKA;;;;AAIO,MAAMK,IAAI,GAEuC/B,QAAQ,CAAC+B,IAAI;AAErE;;;;AAAAnB,OAAA,CAAAmB,IAAA,GAAAA,IAAA;AAIO,MAAMC,KAAK,GAE+ChC,QAAQ,CAACgC,KAAK;AAE/E;;;;AAAApB,OAAA,CAAAoB,KAAA,GAAAA,KAAA;AAIO,MAAMC,WAAW,GAE2DjC,QAAQ,CAACiC,WAAW;AAAArB,OAAA,CAAAqB,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"file":"Server.js","names":["internal","_interopRequireWildcard","require","_Server","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","make","layer","layerConfig"],"sources":["../src/Http/Server.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;AAWA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAOA,IAAAC,OAAA,gBAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAA4C,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAhB,wBAAAoB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAH5C;;;;AAKA;;;;AAIO,MAAMK,IAAI,GAEuC/B,QAAQ,CAAC+B,IAAI;AAErE;;;;AAAAnB,OAAA,CAAAmB,IAAA,GAAAA,IAAA;AAIO,MAAMC,KAAK,GAEkDhC,QAAQ,CAACgC,KAAK;AAElF;;;;AAAApB,OAAA,CAAAoB,KAAA,GAAAA,KAAA;AAIO,MAAMC,WAAW,GAE8DjC,QAAQ,CAACiC,WAAW;AAAArB,OAAA,CAAAqB,WAAA,GAAAA,WAAA"}
package/HttpServer.d.ts CHANGED
@@ -2,7 +2,6 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as server from "@effect/platform-bun/Http/Server";
5
- import * as response from "@effect/platform-bun/Http/ServerResponse";
6
5
  import * as etag from "@effect/platform-node/Http/Etag";
7
6
  import * as formData from "@effect/platform-node/Http/FormData";
8
7
  import * as app from "@effect/platform/Http/App";
@@ -12,6 +11,7 @@ import * as middleware from "@effect/platform/Http/Middleware";
12
11
  import * as router from "@effect/platform/Http/Router";
13
12
  import * as error from "@effect/platform/Http/ServerError";
14
13
  import * as request from "@effect/platform/Http/ServerRequest";
14
+ import * as response from "@effect/platform/Http/ServerResponse";
15
15
  import * as urlParams from "@effect/platform/Http/UrlParams";
16
16
  export {
17
17
  /**
@@ -73,8 +73,8 @@ request,
73
73
  /**
74
74
  * @since 1.0.0
75
75
  *
76
- * - Docs: [Http/ServerResponse](https://effect-ts.github.io/platform/platform-bun/Http/ServerResponse.ts.html)
77
- * - Module: `@effect/platform-bun/Http/ServerResponse`
76
+ * - Docs: [Http/ServerResponse](https://effect-ts.github.io/platform/platform/Http/ServerResponse.ts.html)
77
+ * - Module: `@effect/platform/Http/ServerResponse`
78
78
  */
79
79
  response,
80
80
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["./src/HttpServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,kCAAkC,CAAA;AAC1D,OAAO,KAAK,QAAQ,MAAM,0CAA0C,CAAA;AACpE,OAAO,KAAK,IAAI,MAAM,iCAAiC,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAA;AAC/D,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,4BAA4B,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAA;AACxD,OAAO,KAAK,UAAU,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,MAAM,MAAM,8BAA8B,CAAA;AACtD,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;AAC1D,OAAO,KAAK,OAAO,MAAM,qCAAqC,CAAA;AAC9D,OAAO,KAAK,SAAS,MAAM,iCAAiC,CAAA;AAE5D,OAAO;AACL;;;;;GAKG;AACH,GAAG;AACH;;;;;GAKG;AACH,IAAI;AACJ;;;;;GAKG;AACH,KAAK;AACL;;;;;GAKG;AACH,IAAI;AACJ;;;;;GAKG;AACH,QAAQ;AACR;;;;;GAKG;AACH,OAAO;AACP;;;;;GAKG;AACH,UAAU;AACV;;;;;GAKG;AACH,OAAO;AACP;;;;;GAKG;AACH,QAAQ;AACR;;;;;GAKG;AACH,MAAM;AACN;;;;;GAKG;AACH,MAAM;AACN;;;;;GAKG;AACH,SAAS,EACV,CAAA"}
1
+ {"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["./src/HttpServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,kCAAkC,CAAA;AAC1D,OAAO,KAAK,IAAI,MAAM,iCAAiC,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAA;AAC/D,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,4BAA4B,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAA;AACxD,OAAO,KAAK,UAAU,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,MAAM,MAAM,8BAA8B,CAAA;AACtD,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;AAC1D,OAAO,KAAK,OAAO,MAAM,qCAAqC,CAAA;AAC9D,OAAO,KAAK,QAAQ,MAAM,sCAAsC,CAAA;AAChE,OAAO,KAAK,SAAS,MAAM,iCAAiC,CAAA;AAE5D,OAAO;AACL;;;;;GAKG;AACH,GAAG;AACH;;;;;GAKG;AACH,IAAI;AACJ;;;;;GAKG;AACH,KAAK;AACL;;;;;GAKG;AACH,IAAI;AACJ;;;;;GAKG;AACH,QAAQ;AACR;;;;;GAKG;AACH,OAAO;AACP;;;;;GAKG;AACH,UAAU;AACV;;;;;GAKG;AACH,OAAO;AACP;;;;;GAKG;AACH,QAAQ;AACR;;;;;GAKG;AACH,MAAM;AACN;;;;;GAKG;AACH,MAAM;AACN;;;;;GAKG;AACH,SAAS,EACV,CAAA"}
package/HttpServer.js CHANGED
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.urlParams = exports.server = exports.router = exports.response = exports.request = exports.middleware = exports.headers = exports.formData = exports.etag = exports.error = exports.body = exports.app = void 0;
7
7
  var server = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-bun/Http/Server"));
8
8
  exports.server = server;
9
- var response = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-bun/Http/ServerResponse"));
10
- exports.response = response;
11
9
  var etag = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Http/Etag"));
12
10
  exports.etag = etag;
13
11
  var formData = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Http/FormData"));
@@ -26,6 +24,8 @@ var error = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/
26
24
  exports.error = error;
27
25
  var request = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/ServerRequest"));
28
26
  exports.request = request;
27
+ var response = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/ServerResponse"));
28
+ exports.response = response;
29
29
  var urlParams = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/UrlParams"));
30
30
  exports.urlParams = urlParams;
31
31
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
package/HttpServer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.js","names":["server","_interopRequireWildcard","require","exports","response","etag","formData","app","body","headers","middleware","router","error","request","urlParams","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["./src/HttpServer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAA0DC,OAAA,CAAAH,MAAA,GAAAA,MAAA;AAC1D,IAAAI,QAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAAoEC,OAAA,CAAAC,QAAA,GAAAA,QAAA;AACpE,IAAAC,IAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAAuDC,OAAA,CAAAE,IAAA,GAAAA,IAAA;AACvD,IAAAC,QAAA,gBAAAL,uBAAA,eAAAC,OAAA;AAA+DC,OAAA,CAAAG,QAAA,GAAAA,QAAA;AAC/D,IAAAC,GAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAAgDC,OAAA,CAAAI,GAAA,GAAAA,GAAA;AAChD,IAAAC,IAAA,gBAAAP,uBAAA,eAAAC,OAAA;AAAkDC,OAAA,CAAAK,IAAA,GAAAA,IAAA;AAClD,IAAAC,OAAA,gBAAAR,uBAAA,eAAAC,OAAA;AAAwDC,OAAA,CAAAM,OAAA,GAAAA,OAAA;AACxD,IAAAC,UAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAA8DC,OAAA,CAAAO,UAAA,GAAAA,UAAA;AAC9D,IAAAC,MAAA,gBAAAV,uBAAA,eAAAC,OAAA;AAAsDC,OAAA,CAAAQ,MAAA,GAAAA,MAAA;AACtD,IAAAC,KAAA,gBAAAX,uBAAA,eAAAC,OAAA;AAA0DC,OAAA,CAAAS,KAAA,GAAAA,KAAA;AAC1D,IAAAC,OAAA,gBAAAZ,uBAAA,eAAAC,OAAA;AAA8DC,OAAA,CAAAU,OAAA,GAAAA,OAAA;AAC9D,IAAAC,SAAA,gBAAAb,uBAAA,eAAAC,OAAA;AAA4DC,OAAA,CAAAW,SAAA,GAAAA,SAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAmB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
1
+ {"version":3,"file":"HttpServer.js","names":["server","_interopRequireWildcard","require","exports","etag","formData","app","body","headers","middleware","router","error","request","response","urlParams","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["./src/HttpServer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAA0DC,OAAA,CAAAH,MAAA,GAAAA,MAAA;AAC1D,IAAAI,IAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAAuDC,OAAA,CAAAC,IAAA,GAAAA,IAAA;AACvD,IAAAC,QAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAA+DC,OAAA,CAAAE,QAAA,GAAAA,QAAA;AAC/D,IAAAC,GAAA,gBAAAL,uBAAA,eAAAC,OAAA;AAAgDC,OAAA,CAAAG,GAAA,GAAAA,GAAA;AAChD,IAAAC,IAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAAkDC,OAAA,CAAAI,IAAA,GAAAA,IAAA;AAClD,IAAAC,OAAA,gBAAAP,uBAAA,eAAAC,OAAA;AAAwDC,OAAA,CAAAK,OAAA,GAAAA,OAAA;AACxD,IAAAC,UAAA,gBAAAR,uBAAA,eAAAC,OAAA;AAA8DC,OAAA,CAAAM,UAAA,GAAAA,UAAA;AAC9D,IAAAC,MAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAAsDC,OAAA,CAAAO,MAAA,GAAAA,MAAA;AACtD,IAAAC,KAAA,gBAAAV,uBAAA,eAAAC,OAAA;AAA0DC,OAAA,CAAAQ,KAAA,GAAAA,KAAA;AAC1D,IAAAC,OAAA,gBAAAX,uBAAA,eAAAC,OAAA;AAA8DC,OAAA,CAAAS,OAAA,GAAAA,OAAA;AAC9D,IAAAC,QAAA,gBAAAZ,uBAAA,eAAAC,OAAA;AAAgEC,OAAA,CAAAU,QAAA,GAAAA,QAAA;AAChE,IAAAC,SAAA,gBAAAb,uBAAA,eAAAC,OAAA;AAA4DC,OAAA,CAAAW,SAAA,GAAAA,SAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAmB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/internal/http/platform.ts"],"names":[],"mappings":""}
@@ -3,50 +3,37 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.fileWeb = exports.file = void 0;
7
- var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
8
- var FileSystem = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/FileSystem"));
9
- var Etag = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Etag"));
6
+ exports.make = exports.layer = void 0;
7
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
8
+ var FileSystem = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-bun/FileSystem"));
9
+ var Etag = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Http/Etag"));
10
+ var Platform = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Platform"));
10
11
  var ServerResponse = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/ServerResponse"));
11
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
14
  /** @internal */
14
- const file = (path, options) => Effect.map(({
15
- etag,
16
- info
17
- }) => {
18
- const headers = {
19
- ...(options?.headers ?? {}),
20
- etag: Etag.toString(etag)
21
- };
22
- if (info.mtime._tag === "Some") {
23
- headers["last-modified"] = info.mtime.value.toUTCString();
15
+ const make = /*#__PURE__*/Platform.make({
16
+ fileResponse(path, status, statusText, headers, start, end, _contentLength) {
17
+ let file = Bun.file(path);
18
+ if (start > 0 || end !== undefined) {
19
+ file = file.slice(start, end);
20
+ }
21
+ return ServerResponse.raw(file, {
22
+ headers,
23
+ status,
24
+ statusText
25
+ });
26
+ },
27
+ fileWebResponse(file, status, statusText, headers, _options) {
28
+ return ServerResponse.raw(file, {
29
+ headers,
30
+ status,
31
+ statusText
32
+ });
24
33
  }
25
- let file = Bun.file(path);
26
- if (options?.bytesToRead !== undefined || options?.offset !== undefined) {
27
- const start = Number(options?.offset ?? 0);
28
- const end = options?.bytesToRead !== undefined ? start + Number(options.bytesToRead) : undefined;
29
- file = file.slice(start, end);
30
- }
31
- return ServerResponse.raw(file, {
32
- ...options,
33
- headers
34
- });
35
- })(Effect.bind("etag", ({
36
- info
37
- }) => Effect.flatMap(Etag.Generator, generator => generator.fromFileInfo(info)))(Effect.bindTo(Effect.flatMap(FileSystem.FileSystem, fs => fs.stat(path)), "info")));
34
+ });
38
35
  /** @internal */
39
- exports.file = file;
40
- const fileWeb = (file, options) => Effect.flatMap(Etag.Generator, generator => Effect.map(generator.fromFileWeb(file), etag => {
41
- const headers = {
42
- ...(options?.headers ?? {}),
43
- etag: Etag.toString(etag),
44
- "last-modified": new Date(file.lastModified).toUTCString()
45
- };
46
- return ServerResponse.raw(file, {
47
- ...options,
48
- headers
49
- });
50
- }));
51
- exports.fileWeb = fileWeb;
52
- //# sourceMappingURL=serverResponse.js.map
36
+ exports.make = make;
37
+ const layer = /*#__PURE__*/Layer.use(Etag.layer)( /*#__PURE__*/Layer.use(FileSystem.layer)( /*#__PURE__*/Layer.effect(Platform.Platform, make)));
38
+ exports.layer = layer;
39
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","names":["Layer","_interopRequireWildcard","require","FileSystem","Etag","Platform","ServerResponse","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","make","fileResponse","path","status","statusText","headers","start","end","_contentLength","file","Bun","undefined","slice","raw","fileWebResponse","_options","exports","layer","use","effect"],"sources":["../../src/internal/http/platform.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,KAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,UAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,IAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,QAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,cAAA,gBAAAL,uBAAA,eAAAC,OAAA;AAAsE,SAAAK,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAP,wBAAAW,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEtE;AACO,MAAMW,IAAI,gBAAGxB,QAAQ,CAACwB,IAAI,CAAC;EAChCC,YAAYA,CAACC,IAAI,EAAEC,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEC,KAAK,EAAEC,GAAG,EAAEC,cAAc;IACxE,IAAIC,IAAI,GAAGC,GAAG,CAACD,IAAI,CAACP,IAAI,CAAC;IACzB,IAAII,KAAK,GAAG,CAAC,IAAIC,GAAG,KAAKI,SAAS,EAAE;MAClCF,IAAI,GAAGA,IAAI,CAACG,KAAK,CAACN,KAAK,EAAEC,GAAG,CAAC;;IAE/B,OAAO9B,cAAc,CAACoC,GAAG,CAACJ,IAAI,EAAE;MAAEJ,OAAO;MAAEF,MAAM;MAAEC;IAAU,CAAE,CAAC;EAClE,CAAC;EACDU,eAAeA,CAACL,IAAI,EAAEN,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEU,QAAQ;IACzD,OAAOtC,cAAc,CAACoC,GAAG,CAACJ,IAAI,EAAE;MAAEJ,OAAO;MAAEF,MAAM;MAAEC;IAAU,CAAE,CAAC;EAClE;CACD,CAAC;AAEF;AAAAY,OAAA,CAAAhB,IAAA,GAAAA,IAAA;AACO,MAAMiB,KAAK,gBAGhB9C,KAAK,CAAC+C,GAAG,CAAC3C,IAAI,CAAC0C,KAAK,CAAC,eADrB9C,KAAK,CAAC+C,GAAG,CAAC5C,UAAU,CAAC2C,KAAK,CAAC,eAD3B9C,KAAK,CAACgD,MAAM,CAAC3C,QAAQ,CAACA,QAAQ,EAAEwB,IAAI,CAAC,EAGtC;AAAAgB,OAAA,CAAAC,KAAA,GAAAA,KAAA"}
@@ -9,7 +9,7 @@ var Config = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect
9
9
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
10
10
  var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
11
11
  var Runtime = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Runtime"));
12
- var Etag = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Http/Etag"));
12
+ var Platform = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-bun/Http/Platform"));
13
13
  var FormData = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Http/FormData"));
14
14
  var Headers = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Headers"));
15
15
  var IncomingMessage = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/IncomingMessage"));
@@ -68,7 +68,14 @@ const make = options => Effect.gen(function* (_) {
68
68
  });
69
69
  });
70
70
  exports.make = make;
71
- const makeResponse = response => {
71
+ const makeResponse = (request, response) => {
72
+ if (request.method === "HEAD") {
73
+ return new Response(undefined, {
74
+ status: response.status,
75
+ statusText: response.statusText,
76
+ headers: response.headers
77
+ });
78
+ }
72
79
  const body = response.body;
73
80
  switch (body._tag) {
74
81
  case "Empty":
@@ -109,17 +116,17 @@ const makeResponse = response => {
109
116
  const respond = /*#__PURE__*/Middleware.make(httpApp => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.onExit(httpApp, exit => Effect.sync(() => {
110
117
  if (exit._tag === "Success") {
111
118
  ;
112
- request.resolve(makeResponse(exit.value));
119
+ request.resolve(makeResponse(request, exit.value));
113
120
  } else {
114
121
  ;
115
122
  request.reject(Cause.pretty(exit.cause));
116
123
  }
117
124
  }))));
118
125
  /** @internal */
119
- const layer = options => Layer.merge(Layer.scoped(Server.Server, make(options)), Etag.layer);
126
+ const layer = options => Layer.merge(Layer.scoped(Server.Server, make(options)), Platform.layer);
120
127
  /** @internal */
121
128
  exports.layer = layer;
122
- const layerConfig = options => Layer.merge(Layer.scoped(Server.Server, Effect.flatMap(Effect.config(Config.unwrap(options)), make)), Etag.layer);
129
+ const layerConfig = options => Layer.merge(Layer.scoped(Server.Server, Effect.flatMap(Effect.config(Config.unwrap(options)), make)), Platform.layer);
123
130
  exports.layerConfig = layerConfig;
124
131
  class ServerRequestImpl {
125
132
  constructor(source, resolve, reject, url = source.url, headersOverride) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","names":["Cause","_interopRequireWildcard","require","Config","Effect","Layer","Runtime","Etag","FormData","Headers","IncomingMessage","Middleware","Server","Error","ServerRequest","UrlParams","Stream","_nodeStream","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","make","options","gen","_","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","app","respond","flatMap","runtime","fiberId","async","runFork","handler","request","Promise","resolve","reject","fiber","provideService","ServerRequestImpl","signal","addEventListener","interruptAsFork","push","reload","zipLeft","pop","length","all","exports","makeResponse","response","body","undefined","statusText","headers","formData","toReadableStream","stream","onExit","exit","value","pretty","cause","layer","merge","scoped","layerConfig","config","unwrap","constructor","source","url","headersOverride","TypeId","method","originalUrl","fromInput","setUrl","replaceHeaders","fromReadableStream","RequestError","reason","error","fail","text","textEffect","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","formDataEffect","Readable","fromWeb","formDataStream","arrayBuffer","arrayBufferEffect"],"sources":["../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,KAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,MAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,KAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,OAAA,gBAAAL,uBAAA,eAAAC,OAAA;AAEA,IAAAK,IAAA,gBAAAN,uBAAA,eAAAC,OAAA;AACA,IAAAM,QAAA,gBAAAP,uBAAA,eAAAC,OAAA;AAGA,IAAAO,OAAA,gBAAAR,uBAAA,eAAAC,OAAA;AACA,IAAAQ,eAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAEA,IAAAS,UAAA,gBAAAV,uBAAA,eAAAC,OAAA;AACA,IAAAU,MAAA,gBAAAX,uBAAA,eAAAC,OAAA;AACA,IAAAW,KAAA,gBAAAZ,uBAAA,eAAAC,OAAA;AACA,IAAAY,aAAA,gBAAAb,uBAAA,eAAAC,OAAA;AAEA,IAAAa,SAAA,gBAAAd,uBAAA,eAAAC,OAAA;AAEA,IAAAc,MAAA,gBAAAf,uBAAA,eAAAC,OAAA;AAEA,IAAAe,WAAA,gBAAAf,OAAA;AAAsC,SAAAgB,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAlB,wBAAAsB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEtC;AACO,MAAMW,IAAI,GACfC,OAA8C,IAE9CrC,MAAM,CAACsC,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMC,YAAY,GAAiF,CACjG,UAASC,QAAQ,EAAEC,OAAO;IACxB,OAAO,IAAIC,QAAQ,CAAC,WAAW,EAAE;MAAEC,MAAM,EAAE;IAAG,CAAE,CAAC;EACnD,CAAC,CACF;EACD,MAAMC,MAAM,GAAGC,GAAG,CAACC,KAAK,CAAC;IACvB,GAAGV,OAAO;IACVW,KAAK,EAAER,YAAY,CAAC,CAAC;GACtB,CAAC;EAEF,OAAOD,CAAC,CAACvC,MAAM,CAACiD,YAAY,CAAC,MAC3BjD,MAAM,CAACkD,IAAI,CAAC,MAAK;IACfL,MAAM,CAACM,IAAI,EAAE;EACf,CAAC,CAAC,CACH,CAAC;EAEF,OAAO3C,MAAM,CAAC4B,IAAI,CAAC;IACjBgB,OAAO,EAAE;MAAEC,IAAI,EAAE,YAAY;MAAEC,IAAI,EAAET,MAAM,CAACS,IAAI;MAAEC,QAAQ,EAAEV,MAAM,CAACU;IAAQ,CAAE;IAC7ER,KAAKA,CAACS,OAAO,EAAEC,UAAU;MACvB,MAAMC,GAAG,GAAgCD,UAAU,GAC/CA,UAAU,CAACE,OAAO,CAACH,OAAO,CAAC,CAAgC,GAC3DG,OAAO,CAACH,OAAO,CAAC;MACpB,OAUExD,MAAM,CAAC4D,OAAO,CAAC,CAAC,CAACC,OAAO,EAAEC,OAAO,CAAC,KAChC9D,MAAM,CAAC+D,KAAK,CAAiC,MAAK;QAChD,MAAMC,OAAO,GAAG9D,OAAO,CAAC8D,OAAO,CAACH,OAAO,CAAC;QACxC,SAASI,OAAOA,CAACC,OAAgB,EAAExB,OAAkB;UACnD,OAAO,IAAIyB,OAAO,CAAW,CAACC,OAAO,EAAEC,MAAM,KAAI;YAC/C,MAAMC,KAAK,GAAGN,OAAO,CAAChE,MAAM,CAACuE,cAAc,CACzCb,GAAG,EACHhD,aAAa,CAACA,aAAa,EAC3B,IAAI8D,iBAAiB,CAACN,OAAO,EAAEE,OAAO,EAAEC,MAAM,CAAC,CAChD,CAAC;YACFH,OAAO,CAACO,MAAM,CAACC,gBAAgB,CAAC,OAAO,EAAE,MAAK;cAC5CV,OAAO,CAACM,KAAK,CAACK,eAAe,CAACb,OAAO,CAAC,CAAC;YACzC,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ;QACAtB,YAAY,CAACoC,IAAI,CAACX,OAAO,CAAC;QAC1BpB,MAAM,CAACgC,MAAM,CAAC;UAAE7B,KAAK,EAAEiB;QAAO,CAAkB,CAAC;MACnD,CAAC,CAAC,CACH,CA1BDjE,MAAM,CAAC8E,OAAO,CACZ9E,MAAM,CAACiD,YAAY,CAAC,MAClBjD,MAAM,CAACkD,IAAI,CAAC,MAAK;QACfV,YAAY,CAACuC,GAAG,EAAE;QAClBlC,MAAM,CAACgC,MAAM,CAAC;UAAE7B,KAAK,EAAER,YAAY,CAACA,YAAY,CAACwC,MAAM,GAAG,CAAC;QAAC,CAAkB,CAAC;MACjF,CAAC,CAAC,CACH,CACF,CARDhF,MAAM,CAACiF,GAAG,CAAC,CAACjF,MAAM,CAAC6D,OAAO,EAAS,EAAE7D,MAAM,CAAC8D,OAAO,CAAC,CAAC;IA6BzD;GACD,CAAC;AACJ,CAAC,CAAC;AAAAoB,OAAA,CAAA9C,IAAA,GAAAA,IAAA;AAEJ,MAAM+C,YAAY,GAAIC,QAAuC,IAAc;EACzE,MAAMC,IAAI,GAAGD,QAAQ,CAACC,IAAI;EAC1B,QAAQA,IAAI,CAAChC,IAAI;IACf,KAAK,OAAO;MAAE;QACZ,OAAO,IAAIV,QAAQ,CAAC2C,SAAS,EAAE;UAC7B1C,MAAM,EAAEwC,QAAQ,CAACxC,MAAM;UACvB2C,UAAU,EAAEH,QAAQ,CAACG,UAAU;UAC/BC,OAAO,EAAEJ,QAAQ,CAACI;SACnB,CAAC;;IAEJ,KAAK,YAAY;IACjB,KAAK,KAAK;MAAE;QACV,OAAO,IAAI7C,QAAQ,CAAC0C,IAAI,CAACA,IAAW,EAAE;UACpCzC,MAAM,EAAEwC,QAAQ,CAACxC,MAAM;UACvB2C,UAAU,EAAEH,QAAQ,CAACG,UAAU;UAC/BC,OAAO,EAAEJ,QAAQ,CAACI;SACnB,CAAC;;IAEJ,KAAK,UAAU;MAAE;QACf,OAAO,IAAI7C,QAAQ,CAAC0C,IAAI,CAACI,QAAQ,EAAE;UACjC7C,MAAM,EAAEwC,QAAQ,CAACxC,MAAM;UACvB2C,UAAU,EAAEH,QAAQ,CAACG,UAAU;UAC/BC,OAAO,EAAEJ,QAAQ,CAACI;SACnB,CAAC;;IAEJ,KAAK,QAAQ;MAAE;QACb,OAAO,IAAI7C,QAAQ,CAAC/B,MAAM,CAAC8E,gBAAgB,CAACL,IAAI,CAACM,MAAM,CAAC,EAAE;UACxD/C,MAAM,EAAEwC,QAAQ,CAACxC,MAAM;UACvB2C,UAAU,EAAEH,QAAQ,CAACG,UAAU;UAC/BC,OAAO,EAAEJ,QAAQ,CAACI;SACnB,CAAC;;;AAGR,CAAC;AAED,MAAM7B,OAAO,gBAAGpD,UAAU,CAAC6B,IAAI,CAAEoB,OAAO,IACtCxD,MAAM,CAAC4D,OAAO,CACZlD,aAAa,CAACA,aAAa,EAC1BwD,OAAO,IACNlE,MAAM,CAAC4F,MAAM,CACXpC,OAAO,EACNqC,IAAI,IACH7F,MAAM,CAACkD,IAAI,CAAC,MAAK;EACf,IAAI2C,IAAI,CAACxC,IAAI,KAAK,SAAS,EAAE;IAC3B;IAAEa,OAA6B,CAACE,OAAO,CAACe,YAAY,CAACU,IAAI,CAACC,KAAK,CAAC,CAAC;GAClE,MAAM;IACL;IAAE5B,OAA6B,CAACG,MAAM,CAACzE,KAAK,CAACmG,MAAM,CAACF,IAAI,CAACG,KAAK,CAAC,CAAC;;AAEpE,CAAC,CAAC,CACL,CACJ,CACF;AAED;AACO,MAAMC,KAAK,GAChB5D,OAA8C,IAE9CpC,KAAK,CAACiG,KAAK,CACTjG,KAAK,CAACkG,MAAM,CAAC3F,MAAM,CAACA,MAAM,EAAE4B,IAAI,CAACC,OAAO,CAAC,CAAC,EAC1ClC,IAAI,CAAC8F,KAAK,CACX;AAEH;AAAAf,OAAA,CAAAe,KAAA,GAAAA,KAAA;AACO,MAAMG,WAAW,GACtB/D,OAAkE,IAElEpC,KAAK,CAACiG,KAAK,CACTjG,KAAK,CAACkG,MAAM,CAAC3F,MAAM,CAACA,MAAM,EAAER,MAAM,CAAC4D,OAAO,CAAC5D,MAAM,CAACqG,MAAM,CAACtG,MAAM,CAACuG,MAAM,CAACjE,OAAO,CAAC,CAAC,EAAED,IAAI,CAAC,CAAC,EACxFjC,IAAI,CAAC8F,KAAK,CACX;AAAAf,OAAA,CAAAkB,WAAA,GAAAA,WAAA;AAEH,MAAM5B,iBAAiB;EAGrB+B,YACWC,MAAe,EACjBpC,OAAqC,EACrCC,MAA6B,EAC3BoC,GAAA,GAAMD,MAAM,CAACC,GAAG,EAClBC,eAAiC;IAJ/B,KAAAF,MAAM,GAANA,MAAM;IACR,KAAApC,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;IACJ,KAAAoC,GAAG,GAAHA,GAAG;IACL,KAAAC,eAAe,GAAfA,eAAe;IAEtB,IAAI,CAAChG,aAAa,CAACiG,MAAM,CAAC,GAAGjG,aAAa,CAACiG,MAAM;IACjD,IAAI,CAACrG,eAAe,CAACqG,MAAM,CAAC,GAAGrG,eAAe,CAACqG,MAAM;EACvD;EACA,IAAIC,MAAMA,CAAA;IACR,OAAO,IAAI,CAACJ,MAAM,CAACI,MAAgB;EACrC;EACA,IAAIC,WAAWA,CAAA;IACb,OAAO,IAAI,CAACL,MAAM,CAACC,GAAG;EACxB;EACA,IAAIjB,OAAOA,CAAA;IACT,IAAI,CAACkB,eAAe,KAAKrG,OAAO,CAACyG,SAAS,CAAC,IAAI,CAACN,MAAM,CAAChB,OAAO,CAAC;IAC/D,OAAO,IAAI,CAACkB,eAAe;EAC7B;EACAK,MAAMA,CAACN,GAAW;IAChB,OAAO,IAAIjC,iBAAiB,CAAC,IAAI,CAACgC,MAAM,EAAE,IAAI,CAACpC,OAAO,EAAE,IAAI,CAACC,MAAM,EAAEoC,GAAG,CAAC;EAC3E;EACAO,cAAcA,CAACxB,OAAwB;IACrC,OAAO,IAAIhB,iBAAiB,CAAC,IAAI,CAACgC,MAAM,EAAE,IAAI,CAACpC,OAAO,EAAE,IAAI,CAACC,MAAM,EAAE,IAAI,CAACoC,GAAG,EAAEjB,OAAO,CAAC;EACzF;EAEA,IAAIG,MAAMA,CAAA;IACR,OAAO,IAAI,CAACa,MAAM,CAACnB,IAAI,GACnBzE,MAAM,CAACqG,kBAAkB,CAAC,MAAM,IAAI,CAACT,MAAM,CAACnB,IAAK,EAAG9C,CAAC,IACrD9B,KAAK,CAACyG,YAAY,CAAC;MACjBhD,OAAO,EAAE,IAAI;MACbiD,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAE7E;KACR,CAAC,CAAC,GACH3B,MAAM,CAACyG,IAAI,CAAC5G,KAAK,CAACyG,YAAY,CAAC;MAC/BhD,OAAO,EAAE,IAAI;MACbiD,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAE;KACR,CAAC,CAAC;EACP;EAGA,IAAIE,IAAIA,CAAA;IACN,IAAI,IAAI,CAACC,UAAU,EAAE;MACnB,OAAO,IAAI,CAACA,UAAU;;IAExB,IAAI,CAACA,UAAU,GAAGvH,MAAM,CAACwH,OAAO,CAACxH,MAAM,CAACyH,MAAM,CAC5CzH,MAAM,CAAC0H,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACnB,MAAM,CAACc,IAAI,EAAE;MAC7BM,KAAK,EAAGR,KAAK,IACX3G,KAAK,CAACyG,YAAY,CAAC;QACjBhD,OAAO,EAAE,IAAI;QACbiD,MAAM,EAAE,QAAQ;QAChBC;OACD;KACJ,CAAC,CACH,CAAC;IACF,OAAO,IAAI,CAACG,UAAU;EACxB;EAEA,IAAIM,IAAIA,CAAA;IACN,OAAO7H,MAAM,CAAC8H,MAAM,CAAC,IAAI,CAACR,IAAI,EAAE;MAC9BK,GAAG,EAAGpF,CAAC,IAAKwF,IAAI,CAACC,KAAK,CAACzF,CAAC,CAAY;MACpCqF,KAAK,EAAGR,KAAK,IACX3G,KAAK,CAACyG,YAAY,CAAC;QACjBhD,OAAO,EAAE,IAAI;QACbiD,MAAM,EAAE,QAAQ;QAChBC;OACD;KACJ,CAAC;EACJ;EAEA,IAAIa,aAAaA,CAAA;IACf,OAAOjI,MAAM,CAAC4D,OAAO,CAAC,IAAI,CAAC0D,IAAI,EAAG/E,CAAC,IACjCvC,MAAM,CAAC2H,GAAG,CAAC;MACTA,GAAG,EAAEA,CAAA,KAAMhH,SAAS,CAACmG,SAAS,CAAC,IAAIoB,eAAe,CAAC3F,CAAC,CAAC,CAAC;MACtDqF,KAAK,EAAGR,KAAK,IACX3G,KAAK,CAACyG,YAAY,CAAC;QACjBhD,OAAO,EAAE,IAAI;QACbiD,MAAM,EAAE,QAAQ;QAChBC;OACD;KACJ,CAAC,CAAC;EACP;EASA,IAAI3B,QAAQA,CAAA;IAKV,IAAI,IAAI,CAAC0C,cAAc,EAAE;MACvB,OAAO,IAAI,CAACA,cAAc;;IAE5B,IAAI,CAACA,cAAc,GAAGnI,MAAM,CAACwH,OAAO,CAACxH,MAAM,CAACyH,MAAM,CAChDrH,QAAQ,CAACqF,QAAQ,CAAC2C,oBAAQ,CAACC,OAAO,CAAC,IAAI,CAAC7B,MAAM,CAACnB,IAAK,CAAC,EAAE,IAAI,CAACG,OAAO,CAAC,CACrE,CAAC;IACF,OAAO,IAAI,CAAC2C,cAAc;EAC5B;EAEA,IAAIG,cAAcA,CAAA;IAChB,OAAOlI,QAAQ,CAACuF,MAAM,CAACyC,oBAAQ,CAACC,OAAO,CAAC,IAAI,CAAC7B,MAAM,CAACnB,IAAK,CAAC,EAAE,IAAI,CAACG,OAAO,CAAC;EAC3E;EAGA,IAAI+C,WAAWA,CAAA;IACb,IAAI,IAAI,CAACA,WAAW,EAAE;MACpB,OAAO,IAAI,CAACA,WAAW;;IAEzB,IAAI,CAACC,iBAAiB,GAAGxI,MAAM,CAACwH,OAAO,CAACxH,MAAM,CAACyH,MAAM,CACnDzH,MAAM,CAAC0H,UAAU,CAAC;MAChBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACnB,MAAM,CAAC+B,WAAW,EAAE;MACpCX,KAAK,EAAGR,KAAK,IACX3G,KAAK,CAACyG,YAAY,CAAC;QACjBhD,OAAO,EAAE,IAAI;QACbiD,MAAM,EAAE,QAAQ;QAChBC;OACD;KACJ,CAAC,CACH,CAAC;IACF,OAAO,IAAI,CAACoB,iBAAiB;EAC/B;;AAlIU9H,aAAa,CAACiG,MAAM,EACpBrG,eAAe,CAACqG,MAAM"}
1
+ {"version":3,"file":"server.js","names":["Cause","_interopRequireWildcard","require","Config","Effect","Layer","Runtime","Platform","FormData","Headers","IncomingMessage","Middleware","Server","Error","ServerRequest","UrlParams","Stream","_nodeStream","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","make","options","gen","_","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","app","respond","flatMap","runtime","fiberId","async","runFork","handler","request","Promise","resolve","reject","fiber","provideService","ServerRequestImpl","signal","addEventListener","interruptAsFork","push","reload","zipLeft","pop","length","all","exports","makeResponse","response","method","undefined","statusText","headers","body","formData","toReadableStream","stream","onExit","exit","value","pretty","cause","layer","merge","scoped","layerConfig","config","unwrap","constructor","source","url","headersOverride","TypeId","originalUrl","fromInput","setUrl","replaceHeaders","fromReadableStream","RequestError","reason","error","fail","text","textEffect","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","formDataEffect","Readable","fromWeb","formDataStream","arrayBuffer","arrayBufferEffect"],"sources":["../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import * as internal from "@effect/platform-bun/internal/http/platform";
2
+ /**
3
+ * @since 1.0.0
4
+ */
5
+ export * from "@effect/platform/Http/Platform";
6
+ /**
7
+ * @since 1.0.0
8
+ * @category constructors
9
+ */
10
+ export const make = internal.make;
11
+ /**
12
+ * @since 1.0.0
13
+ * @category layers
14
+ */
15
+ export const layer = internal.layer;
16
+ //# sourceMappingURL=Platform.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Platform.mjs","names":["internal","make","layer"],"sources":["../../src/Http/Platform.ts"],"sourcesContent":[null],"mappings":"AAQA,OAAO,KAAKA,QAAQ,MAAM,6CAA6C;AAIvE;;;AAGA,cAAc,gCAAgC;AAE9C;;;;AAIA,OAAO,MAAMC,IAAI,GAAoFD,QAAQ,CAACC,IAAI;AAElH;;;;AAIA,OAAO,MAAMC,KAAK,GAAiDF,QAAQ,CAACE,KAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"Server.mjs","names":["internal","make","layer","layerConfig"],"sources":["../../src/Http/Server.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,2CAA2C;AAKrE;;;AAGA,cAAc,8BAA8B;AAE5C;;;;AAIA,OAAO,MAAMC,IAAI,GAEuCD,QAAQ,CAACC,IAAI;AAErE;;;;AAIA,OAAO,MAAMC,KAAK,GAE+CF,QAAQ,CAACE,KAAK;AAE/E;;;;AAIA,OAAO,MAAMC,WAAW,GAE2DH,QAAQ,CAACG,WAAW"}
1
+ {"version":3,"file":"Server.mjs","names":["internal","make","layer","layerConfig"],"sources":["../../src/Http/Server.ts"],"sourcesContent":[null],"mappings":"AAWA,OAAO,KAAKA,QAAQ,MAAM,2CAA2C;AAIrE;;;AAGA,cAAc,8BAA8B;AAE5C;;;;AAIA,OAAO,MAAMC,IAAI,GAEuCD,QAAQ,CAACC,IAAI;AAErE;;;;AAIA,OAAO,MAAMC,KAAK,GAEkDF,QAAQ,CAACE,KAAK;AAElF;;;;AAIA,OAAO,MAAMC,WAAW,GAE8DH,QAAQ,CAACG,WAAW"}
@@ -2,7 +2,6 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as server from "@effect/platform-bun/Http/Server";
5
- import * as response from "@effect/platform-bun/Http/ServerResponse";
6
5
  import * as etag from "@effect/platform-node/Http/Etag";
7
6
  import * as formData from "@effect/platform-node/Http/FormData";
8
7
  import * as app from "@effect/platform/Http/App";
@@ -12,6 +11,7 @@ import * as middleware from "@effect/platform/Http/Middleware";
12
11
  import * as router from "@effect/platform/Http/Router";
13
12
  import * as error from "@effect/platform/Http/ServerError";
14
13
  import * as request from "@effect/platform/Http/ServerRequest";
14
+ import * as response from "@effect/platform/Http/ServerResponse";
15
15
  import * as urlParams from "@effect/platform/Http/UrlParams";
16
16
  export {
17
17
  /**
@@ -73,8 +73,8 @@ request,
73
73
  /**
74
74
  * @since 1.0.0
75
75
  *
76
- * - Docs: [Http/ServerResponse](https://effect-ts.github.io/platform/platform-bun/Http/ServerResponse.ts.html)
77
- * - Module: `@effect/platform-bun/Http/ServerResponse`
76
+ * - Docs: [Http/ServerResponse](https://effect-ts.github.io/platform/platform/Http/ServerResponse.ts.html)
77
+ * - Module: `@effect/platform/Http/ServerResponse`
78
78
  */
79
79
  response,
80
80
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServer.mjs","names":["server","response","etag","formData","app","body","headers","middleware","router","error","request","urlParams"],"sources":["../src/HttpServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,kCAAkC;AAC1D,OAAO,KAAKC,QAAQ,MAAM,0CAA0C;AACpE,OAAO,KAAKC,IAAI,MAAM,iCAAiC;AACvD,OAAO,KAAKC,QAAQ,MAAM,qCAAqC;AAC/D,OAAO,KAAKC,GAAG,MAAM,2BAA2B;AAChD,OAAO,KAAKC,IAAI,MAAM,4BAA4B;AAClD,OAAO,KAAKC,OAAO,MAAM,+BAA+B;AACxD,OAAO,KAAKC,UAAU,MAAM,kCAAkC;AAC9D,OAAO,KAAKC,MAAM,MAAM,8BAA8B;AACtD,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAC1D,OAAO,KAAKC,OAAO,MAAM,qCAAqC;AAC9D,OAAO,KAAKC,SAAS,MAAM,iCAAiC;AAE5D;AACE;;;;;;AAMAP,GAAG;AACH;;;;;;AAMAC,IAAI;AACJ;;;;;;AAMAI,KAAK;AACL;;;;;;AAMAP,IAAI;AACJ;;;;;;AAMAC,QAAQ;AACR;;;;;;AAMAG,OAAO;AACP;;;;;;AAMAC,UAAU;AACV;;;;;;AAMAG,OAAO;AACP;;;;;;AAMAT,QAAQ;AACR;;;;;;AAMAO,MAAM;AACN;;;;;;AAMAR,MAAM;AACN;;;;;;AAMAW,SAAS"}
1
+ {"version":3,"file":"HttpServer.mjs","names":["server","etag","formData","app","body","headers","middleware","router","error","request","response","urlParams"],"sources":["../src/HttpServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,kCAAkC;AAC1D,OAAO,KAAKC,IAAI,MAAM,iCAAiC;AACvD,OAAO,KAAKC,QAAQ,MAAM,qCAAqC;AAC/D,OAAO,KAAKC,GAAG,MAAM,2BAA2B;AAChD,OAAO,KAAKC,IAAI,MAAM,4BAA4B;AAClD,OAAO,KAAKC,OAAO,MAAM,+BAA+B;AACxD,OAAO,KAAKC,UAAU,MAAM,kCAAkC;AAC9D,OAAO,KAAKC,MAAM,MAAM,8BAA8B;AACtD,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAC1D,OAAO,KAAKC,OAAO,MAAM,qCAAqC;AAC9D,OAAO,KAAKC,QAAQ,MAAM,sCAAsC;AAChE,OAAO,KAAKC,SAAS,MAAM,iCAAiC;AAE5D;AACE;;;;;;AAMAR,GAAG;AACH;;;;;;AAMAC,IAAI;AACJ;;;;;;AAMAI,KAAK;AACL;;;;;;AAMAP,IAAI;AACJ;;;;;;AAMAC,QAAQ;AACR;;;;;;AAMAG,OAAO;AACP;;;;;;AAMAC,UAAU;AACV;;;;;;AAMAG,OAAO;AACP;;;;;;AAMAC,QAAQ;AACR;;;;;;AAMAH,MAAM;AACN;;;;;;AAMAP,MAAM;AACN;;;;;;AAMAW,SAAS"}
@@ -0,0 +1,29 @@
1
+ import * as Layer from "@effect/io/Layer";
2
+ import * as FileSystem from "@effect/platform-bun/FileSystem";
3
+ import * as Etag from "@effect/platform-node/Http/Etag";
4
+ import * as Platform from "@effect/platform/Http/Platform";
5
+ import * as ServerResponse from "@effect/platform/Http/ServerResponse";
6
+ /** @internal */
7
+ export const make = /*#__PURE__*/Platform.make({
8
+ fileResponse(path, status, statusText, headers, start, end, _contentLength) {
9
+ let file = Bun.file(path);
10
+ if (start > 0 || end !== undefined) {
11
+ file = file.slice(start, end);
12
+ }
13
+ return ServerResponse.raw(file, {
14
+ headers,
15
+ status,
16
+ statusText
17
+ });
18
+ },
19
+ fileWebResponse(file, status, statusText, headers, _options) {
20
+ return ServerResponse.raw(file, {
21
+ headers,
22
+ status,
23
+ statusText
24
+ });
25
+ }
26
+ });
27
+ /** @internal */
28
+ export const layer = /*#__PURE__*/Layer.use(Etag.layer)( /*#__PURE__*/Layer.use(FileSystem.layer)( /*#__PURE__*/Layer.effect(Platform.Platform, make)));
29
+ //# sourceMappingURL=platform.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.mjs","names":["Layer","FileSystem","Etag","Platform","ServerResponse","make","fileResponse","path","status","statusText","headers","start","end","_contentLength","file","Bun","undefined","slice","raw","fileWebResponse","_options","layer","use","effect"],"sources":["../../../src/internal/http/platform.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,KAAK,MAAM,kBAAkB;AACzC,OAAO,KAAKC,UAAU,MAAM,iCAAiC;AAC7D,OAAO,KAAKC,IAAI,MAAM,iCAAiC;AACvD,OAAO,KAAKC,QAAQ,MAAM,gCAAgC;AAC1D,OAAO,KAAKC,cAAc,MAAM,sCAAsC;AAEtE;AACA,OAAO,MAAMC,IAAI,gBAAGF,QAAQ,CAACE,IAAI,CAAC;EAChCC,YAAYA,CAACC,IAAI,EAAEC,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEC,KAAK,EAAEC,GAAG,EAAEC,cAAc;IACxE,IAAIC,IAAI,GAAGC,GAAG,CAACD,IAAI,CAACP,IAAI,CAAC;IACzB,IAAII,KAAK,GAAG,CAAC,IAAIC,GAAG,KAAKI,SAAS,EAAE;MAClCF,IAAI,GAAGA,IAAI,CAACG,KAAK,CAACN,KAAK,EAAEC,GAAG,CAAC;;IAE/B,OAAOR,cAAc,CAACc,GAAG,CAACJ,IAAI,EAAE;MAAEJ,OAAO;MAAEF,MAAM;MAAEC;IAAU,CAAE,CAAC;EAClE,CAAC;EACDU,eAAeA,CAACL,IAAI,EAAEN,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEU,QAAQ;IACzD,OAAOhB,cAAc,CAACc,GAAG,CAACJ,IAAI,EAAE;MAAEJ,OAAO;MAAEF,MAAM;MAAEC;IAAU,CAAE,CAAC;EAClE;CACD,CAAC;AAEF;AACA,OAAO,MAAMY,KAAK,gBAGhBrB,KAAK,CAACsB,GAAG,CAACpB,IAAI,CAACmB,KAAK,CAAC,eADrBrB,KAAK,CAACsB,GAAG,CAACrB,UAAU,CAACoB,KAAK,CAAC,eAD3BrB,KAAK,CAACuB,MAAM,CAACpB,QAAQ,CAACA,QAAQ,EAAEE,IAAI,CAAC,EAGtC"}
@@ -3,7 +3,7 @@ import * as Config from "@effect/io/Config";
3
3
  import * as Effect from "@effect/io/Effect";
4
4
  import * as Layer from "@effect/io/Layer";
5
5
  import * as Runtime from "@effect/io/Runtime";
6
- import * as Etag from "@effect/platform-node/Http/Etag";
6
+ import * as Platform from "@effect/platform-bun/Http/Platform";
7
7
  import * as FormData from "@effect/platform-node/Http/FormData";
8
8
  import * as Headers from "@effect/platform/Http/Headers";
9
9
  import * as IncomingMessage from "@effect/platform/Http/IncomingMessage";
@@ -59,7 +59,14 @@ export const make = options => Effect.gen(function* (_) {
59
59
  }
60
60
  });
61
61
  });
62
- const makeResponse = response => {
62
+ const makeResponse = (request, response) => {
63
+ if (request.method === "HEAD") {
64
+ return new Response(undefined, {
65
+ status: response.status,
66
+ statusText: response.statusText,
67
+ headers: response.headers
68
+ });
69
+ }
63
70
  const body = response.body;
64
71
  switch (body._tag) {
65
72
  case "Empty":
@@ -100,16 +107,16 @@ const makeResponse = response => {
100
107
  const respond = /*#__PURE__*/Middleware.make(httpApp => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.onExit(httpApp, exit => Effect.sync(() => {
101
108
  if (exit._tag === "Success") {
102
109
  ;
103
- request.resolve(makeResponse(exit.value));
110
+ request.resolve(makeResponse(request, exit.value));
104
111
  } else {
105
112
  ;
106
113
  request.reject(Cause.pretty(exit.cause));
107
114
  }
108
115
  }))));
109
116
  /** @internal */
110
- export const layer = options => Layer.merge(Layer.scoped(Server.Server, make(options)), Etag.layer);
117
+ export const layer = options => Layer.merge(Layer.scoped(Server.Server, make(options)), Platform.layer);
111
118
  /** @internal */
112
- export const layerConfig = options => Layer.merge(Layer.scoped(Server.Server, Effect.flatMap(Effect.config(Config.unwrap(options)), make)), Etag.layer);
119
+ export const layerConfig = options => Layer.merge(Layer.scoped(Server.Server, Effect.flatMap(Effect.config(Config.unwrap(options)), make)), Platform.layer);
113
120
  class ServerRequestImpl {
114
121
  constructor(source, resolve, reject, url = source.url, headersOverride) {
115
122
  this.source = source;
@@ -1 +1 @@
1
- {"version":3,"file":"server.mjs","names":["Cause","Config","Effect","Layer","Runtime","Etag","FormData","Headers","IncomingMessage","Middleware","Server","Error","ServerRequest","UrlParams","Stream","Readable","make","options","gen","_","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","app","respond","flatMap","runtime","fiberId","async","runFork","handler","request","Promise","resolve","reject","fiber","provideService","ServerRequestImpl","signal","addEventListener","interruptAsFork","push","reload","zipLeft","pop","length","all","makeResponse","response","body","undefined","statusText","headers","formData","toReadableStream","stream","onExit","exit","value","pretty","cause","layer","merge","scoped","layerConfig","config","unwrap","constructor","source","url","headersOverride","TypeId","method","originalUrl","fromInput","setUrl","replaceHeaders","fromReadableStream","RequestError","reason","error","fail","text","textEffect","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","formDataEffect","fromWeb","formDataStream","arrayBuffer","arrayBufferEffect"],"sources":["../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"server.mjs","names":["Cause","Config","Effect","Layer","Runtime","Platform","FormData","Headers","IncomingMessage","Middleware","Server","Error","ServerRequest","UrlParams","Stream","Readable","make","options","gen","_","handlerStack","_request","_server","Response","status","server","Bun","serve","fetch","addFinalizer","sync","stop","address","_tag","port","hostname","httpApp","middleware","app","respond","flatMap","runtime","fiberId","async","runFork","handler","request","Promise","resolve","reject","fiber","provideService","ServerRequestImpl","signal","addEventListener","interruptAsFork","push","reload","zipLeft","pop","length","all","makeResponse","response","method","undefined","statusText","headers","body","formData","toReadableStream","stream","onExit","exit","value","pretty","cause","layer","merge","scoped","layerConfig","config","unwrap","constructor","source","url","headersOverride","TypeId","originalUrl","fromInput","setUrl","replaceHeaders","fromReadableStream","RequestError","reason","error","fail","text","textEffect","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","parse","urlParamsBody","URLSearchParams","formDataEffect","fromWeb","formDataStream","arrayBuffer","arrayBufferEffect"],"sources":["../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform-bun",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -28,6 +28,6 @@
28
28
  "@effect/data": "^0.18.3",
29
29
  "@effect/io": "^0.39.0",
30
30
  "@effect/stream": "^0.35.1",
31
- "@effect/platform-node": "^0.14.0"
31
+ "@effect/platform-node": "^0.14.1"
32
32
  }
33
33
  }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @since 1.0.0
3
+ *
4
+ * Also includes exports from [`@effect/platform/Http/Platform`](https://effect-ts.github.io/platform/platform/Http/Platform.ts.html).
5
+ */
6
+ import type * as Effect from "@effect/io/Effect"
7
+ import type * as Layer from "@effect/io/Layer"
8
+ import type * as FileSystem from "@effect/platform-bun/FileSystem"
9
+ import * as internal from "@effect/platform-bun/internal/http/platform"
10
+ import type * as Etag from "@effect/platform/Http/Etag"
11
+ import type * as Platform from "@effect/platform/Http/Platform"
12
+
13
+ /**
14
+ * @since 1.0.0
15
+ */
16
+ export * from "@effect/platform/Http/Platform"
17
+
18
+ /**
19
+ * @since 1.0.0
20
+ * @category constructors
21
+ */
22
+ export const make: Effect.Effect<FileSystem.FileSystem | Etag.Generator, never, Platform.Platform> = internal.make
23
+
24
+ /**
25
+ * @since 1.0.0
26
+ * @category layers
27
+ */
28
+ export const layer: Layer.Layer<never, never, Platform.Platform> = internal.layer
@@ -8,8 +8,8 @@ import type * as ConfigError from "@effect/io/ConfigError"
8
8
  import type * as Effect from "@effect/io/Effect"
9
9
  import type * as Layer from "@effect/io/Layer"
10
10
  import type * as Scope from "@effect/io/Scope"
11
+ import type * as Platform from "@effect/platform-bun/Http/Platform"
11
12
  import * as internal from "@effect/platform-bun/internal/http/server"
12
- import type * as Etag from "@effect/platform/Http/Etag"
13
13
  import type * as Server from "@effect/platform/Http/Server"
14
14
  import type { ServeOptions } from "bun"
15
15
 
@@ -32,7 +32,7 @@ export const make: (
32
32
  */
33
33
  export const layer: (
34
34
  options: Omit<ServeOptions, "fetch" | "error">
35
- ) => Layer.Layer<never, never, Server.Server | Etag.Generator> = internal.layer
35
+ ) => Layer.Layer<never, never, Server.Server | Platform.Platform> = internal.layer
36
36
 
37
37
  /**
38
38
  * @since 1.0.0
@@ -40,4 +40,4 @@ export const layer: (
40
40
  */
41
41
  export const layerConfig: (
42
42
  options: Config.Config.Wrap<Omit<ServeOptions, "fetch" | "error">>
43
- ) => Layer.Layer<never, ConfigError.ConfigError, Server.Server | Etag.Generator> = internal.layerConfig
43
+ ) => Layer.Layer<never, ConfigError.ConfigError, Server.Server | Platform.Platform> = internal.layerConfig
package/src/HttpServer.ts CHANGED
@@ -2,7 +2,6 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as server from "@effect/platform-bun/Http/Server"
5
- import * as response from "@effect/platform-bun/Http/ServerResponse"
6
5
  import * as etag from "@effect/platform-node/Http/Etag"
7
6
  import * as formData from "@effect/platform-node/Http/FormData"
8
7
  import * as app from "@effect/platform/Http/App"
@@ -12,6 +11,7 @@ import * as middleware from "@effect/platform/Http/Middleware"
12
11
  import * as router from "@effect/platform/Http/Router"
13
12
  import * as error from "@effect/platform/Http/ServerError"
14
13
  import * as request from "@effect/platform/Http/ServerRequest"
14
+ import * as response from "@effect/platform/Http/ServerResponse"
15
15
  import * as urlParams from "@effect/platform/Http/UrlParams"
16
16
 
17
17
  export {
@@ -74,8 +74,8 @@ export {
74
74
  /**
75
75
  * @since 1.0.0
76
76
  *
77
- * - Docs: [Http/ServerResponse](https://effect-ts.github.io/platform/platform-bun/Http/ServerResponse.ts.html)
78
- * - Module: `@effect/platform-bun/Http/ServerResponse`
77
+ * - Docs: [Http/ServerResponse](https://effect-ts.github.io/platform/platform/Http/ServerResponse.ts.html)
78
+ * - Module: `@effect/platform/Http/ServerResponse`
79
79
  */
80
80
  response,
81
81
  /**
@@ -0,0 +1,27 @@
1
+ import { pipe } from "@effect/data/Function"
2
+ import * as Layer from "@effect/io/Layer"
3
+ import * as FileSystem from "@effect/platform-bun/FileSystem"
4
+ import * as Etag from "@effect/platform-node/Http/Etag"
5
+ import * as Platform from "@effect/platform/Http/Platform"
6
+ import * as ServerResponse from "@effect/platform/Http/ServerResponse"
7
+
8
+ /** @internal */
9
+ export const make = Platform.make({
10
+ fileResponse(path, status, statusText, headers, start, end, _contentLength) {
11
+ let file = Bun.file(path)
12
+ if (start > 0 || end !== undefined) {
13
+ file = file.slice(start, end)
14
+ }
15
+ return ServerResponse.raw(file, { headers, status, statusText })
16
+ },
17
+ fileWebResponse(file, status, statusText, headers, _options) {
18
+ return ServerResponse.raw(file, { headers, status, statusText })
19
+ }
20
+ })
21
+
22
+ /** @internal */
23
+ export const layer = pipe(
24
+ Layer.effect(Platform.Platform, make),
25
+ Layer.use(FileSystem.layer),
26
+ Layer.use(Etag.layer)
27
+ )
@@ -5,7 +5,7 @@ import * as Effect from "@effect/io/Effect"
5
5
  import * as Layer from "@effect/io/Layer"
6
6
  import * as Runtime from "@effect/io/Runtime"
7
7
  import type * as Scope from "@effect/io/Scope"
8
- import * as Etag from "@effect/platform-node/Http/Etag"
8
+ import * as Platform from "@effect/platform-bun/Http/Platform"
9
9
  import * as FormData from "@effect/platform-node/Http/FormData"
10
10
  import type * as FileSystem from "@effect/platform/FileSystem"
11
11
  import type * as App from "@effect/platform/Http/App"
@@ -84,7 +84,14 @@ export const make = (
84
84
  })
85
85
  })
86
86
 
87
- const makeResponse = (response: ServerResponse.ServerResponse): Response => {
87
+ const makeResponse = (request: ServerRequest.ServerRequest, response: ServerResponse.ServerResponse): Response => {
88
+ if (request.method === "HEAD") {
89
+ return new Response(undefined, {
90
+ status: response.status,
91
+ statusText: response.statusText,
92
+ headers: response.headers
93
+ })
94
+ }
88
95
  const body = response.body
89
96
  switch (body._tag) {
90
97
  case "Empty": {
@@ -128,7 +135,7 @@ const respond = Middleware.make((httpApp) =>
128
135
  (exit) =>
129
136
  Effect.sync(() => {
130
137
  if (exit._tag === "Success") {
131
- ;(request as ServerRequestImpl).resolve(makeResponse(exit.value))
138
+ ;(request as ServerRequestImpl).resolve(makeResponse(request, exit.value))
132
139
  } else {
133
140
  ;(request as ServerRequestImpl).reject(Cause.pretty(exit.cause))
134
141
  }
@@ -143,7 +150,7 @@ export const layer = (
143
150
  ) =>
144
151
  Layer.merge(
145
152
  Layer.scoped(Server.Server, make(options)),
146
- Etag.layer
153
+ Platform.layer
147
154
  )
148
155
 
149
156
  /** @internal */
@@ -152,7 +159,7 @@ export const layerConfig = (
152
159
  ) =>
153
160
  Layer.merge(
154
161
  Layer.scoped(Server.Server, Effect.flatMap(Effect.config(Config.unwrap(options)), make)),
155
- Etag.layer
162
+ Platform.layer
156
163
  )
157
164
 
158
165
  class ServerRequestImpl implements ServerRequest.ServerRequest {
@@ -1,23 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- *
4
- * Also includes exports from [`@effect/platform/Http/ServerResponse`](https://effect-ts.github.io/platform/platform/Http/ServerResponse.ts.html).
5
- */
6
- import type * as Effect from "@effect/io/Effect";
7
- import type * as PlatformError from "@effect/platform/Error";
8
- import type * as FileSystem from "@effect/platform/FileSystem";
9
- import type * as Body from "@effect/platform/Http/Body";
10
- import type * as Etag from "@effect/platform/Http/Etag";
11
- import type * as ServerResponse from "@effect/platform/Http/ServerResponse";
12
- export * from "@effect/platform/Http/ServerResponse";
13
- /**
14
- * @since 1.0.0
15
- * @category constructors
16
- */
17
- export declare const file: (path: string, options?: ServerResponse.Options.WithContentType & FileSystem.StreamOptions) => Effect.Effect<FileSystem.FileSystem | Etag.Generator, PlatformError.PlatformError, ServerResponse.ServerResponse>;
18
- /**
19
- * @since 1.0.0
20
- * @category constructors
21
- */
22
- export declare const fileWeb: (file: Body.Body.FileLike, options?: ServerResponse.Options.WithContent) => Effect.Effect<Etag.Generator, never, ServerResponse.ServerResponse>;
23
- //# sourceMappingURL=ServerResponse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerResponse.d.ts","sourceRoot":"","sources":["../src/Http/ServerResponse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,KAAK,aAAa,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,KAAK,IAAI,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,KAAK,IAAI,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,KAAK,cAAc,MAAM,sCAAsC,CAAA;AAE3E,cAAc,sCAAsC,CAAA;AAEpD;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,aAAa,KACxE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,cAAc,CACtG,CAAA;AAEf;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,CACpB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EACxB,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW,KACzC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,cAAc,CAAoB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerResponse.js","names":["internal","_interopRequireWildcard","require","_ServerResponse","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","file","fileWeb"],"sources":["../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAMA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAOA,IAAAC,eAAA,gBAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,eAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,eAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,eAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAAoD,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAhB,wBAAAoB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAEpD;;;;AAIO,MAAMK,IAAI,GAIf/B,QAAQ,CAAC+B,IAAI;AAEf;;;;AAAAnB,OAAA,CAAAmB,IAAA,GAAAA,IAAA;AAIO,MAAMC,OAAO,GAGuDhC,QAAQ,CAACgC,OAAO;AAAApB,OAAA,CAAAoB,OAAA,GAAAA,OAAA"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=serverResponse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverResponse.d.ts","sourceRoot":"","sources":["../../src/internal/http/serverResponse.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverResponse.js","names":["Effect","_interopRequireWildcard","require","FileSystem","Etag","ServerResponse","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","file","path","options","map","etag","info","headers","toString","mtime","_tag","value","toUTCString","Bun","bytesToRead","undefined","offset","start","Number","end","slice","raw","bind","flatMap","Generator","generator","fromFileInfo","bindTo","fs","stat","exports","fileWeb","fromFileWeb","Date","lastModified"],"sources":["../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import * as internal from "@effect/platform-bun/internal/http/serverResponse";
2
- export * from "@effect/platform/Http/ServerResponse";
3
- /**
4
- * @since 1.0.0
5
- * @category constructors
6
- */
7
- export const file = internal.file;
8
- /**
9
- * @since 1.0.0
10
- * @category constructors
11
- */
12
- export const fileWeb = internal.fileWeb;
13
- //# sourceMappingURL=ServerResponse.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerResponse.mjs","names":["internal","file","fileWeb"],"sources":["../../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"AAMA,OAAO,KAAKA,QAAQ,MAAM,mDAAmD;AAO7E,cAAc,sCAAsC;AAEpD;;;;AAIA,OAAO,MAAMC,IAAI,GAIfD,QAAQ,CAACC,IAAI;AAEf;;;;AAIA,OAAO,MAAMC,OAAO,GAGuDF,QAAQ,CAACE,OAAO"}
@@ -1,42 +0,0 @@
1
- import * as Effect from "@effect/io/Effect";
2
- import * as FileSystem from "@effect/platform/FileSystem";
3
- import * as Etag from "@effect/platform/Http/Etag";
4
- import * as ServerResponse from "@effect/platform/Http/ServerResponse";
5
- /** @internal */
6
- export const file = (path, options) => Effect.map(({
7
- etag,
8
- info
9
- }) => {
10
- const headers = {
11
- ...(options?.headers ?? {}),
12
- etag: Etag.toString(etag)
13
- };
14
- if (info.mtime._tag === "Some") {
15
- headers["last-modified"] = info.mtime.value.toUTCString();
16
- }
17
- let file = Bun.file(path);
18
- if (options?.bytesToRead !== undefined || options?.offset !== undefined) {
19
- const start = Number(options?.offset ?? 0);
20
- const end = options?.bytesToRead !== undefined ? start + Number(options.bytesToRead) : undefined;
21
- file = file.slice(start, end);
22
- }
23
- return ServerResponse.raw(file, {
24
- ...options,
25
- headers
26
- });
27
- })(Effect.bind("etag", ({
28
- info
29
- }) => Effect.flatMap(Etag.Generator, generator => generator.fromFileInfo(info)))(Effect.bindTo(Effect.flatMap(FileSystem.FileSystem, fs => fs.stat(path)), "info")));
30
- /** @internal */
31
- export const fileWeb = (file, options) => Effect.flatMap(Etag.Generator, generator => Effect.map(generator.fromFileWeb(file), etag => {
32
- const headers = {
33
- ...(options?.headers ?? {}),
34
- etag: Etag.toString(etag),
35
- "last-modified": new Date(file.lastModified).toUTCString()
36
- };
37
- return ServerResponse.raw(file, {
38
- ...options,
39
- headers
40
- });
41
- }));
42
- //# sourceMappingURL=serverResponse.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serverResponse.mjs","names":["Effect","FileSystem","Etag","ServerResponse","file","path","options","map","etag","info","headers","toString","mtime","_tag","value","toUTCString","Bun","bytesToRead","undefined","offset","start","Number","end","slice","raw","bind","flatMap","Generator","generator","fromFileInfo","bindTo","fs","stat","fileWeb","fromFileWeb","Date","lastModified"],"sources":["../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,MAAM,MAAM,mBAAmB;AAE3C,OAAO,KAAKC,UAAU,MAAM,6BAA6B;AAEzD,OAAO,KAAKC,IAAI,MAAM,4BAA4B;AAClD,OAAO,KAAKC,cAAc,MAAM,sCAAsC;AAEtE;AACA,OAAO,MAAMC,IAAI,GAAGA,CAClBC,IAAY,EACZC,OAA2E,KASzEN,MAAM,CAACO,GAAG,CAAC,CAAC;EAAEC,IAAI;EAAEC;AAAI,CAAE,KAAI;EAC5B,MAAMC,OAAO,GAA2B;IACtC,IAAIJ,OAAO,EAAEI,OAAO,IAAI,EAAE,CAAC;IAC3BF,IAAI,EAAEN,IAAI,CAACS,QAAQ,CAACH,IAAI;GACzB;EACD,IAAIC,IAAI,CAACG,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;IAC9BH,OAAO,CAAC,eAAe,CAAC,GAAGD,IAAI,CAACG,KAAK,CAACE,KAAK,CAACC,WAAW,EAAE;;EAE3D,IAAIX,IAAI,GAAGY,GAAG,CAACZ,IAAI,CAACC,IAAI,CAAC;EACzB,IAAIC,OAAO,EAAEW,WAAW,KAAKC,SAAS,IAAIZ,OAAO,EAAEa,MAAM,KAAKD,SAAS,EAAE;IACvE,MAAME,KAAK,GAAGC,MAAM,CAACf,OAAO,EAAEa,MAAM,IAAI,CAAC,CAAC;IAC1C,MAAMG,GAAG,GAAGhB,OAAO,EAAEW,WAAW,KAAKC,SAAS,GAAGE,KAAK,GAAGC,MAAM,CAACf,OAAO,CAACW,WAAW,CAAC,GAAGC,SAAS;IAChGd,IAAI,GAAGA,IAAI,CAACmB,KAAK,CAACH,KAAK,EAAEE,GAAG,CAAC;;EAE/B,OAAOnB,cAAc,CAACqB,GAAG,CAACpB,IAAI,EAAE;IAAE,GAAGE,OAAO;IAAEI;EAAO,CAAE,CAAC;AAC1D,CAAC,CAAC,CApBFV,MAAM,CAACyB,IAAI,CAAC,MAAM,EAAE,CAAC;EAAEhB;AAAI,CAAE,KAC3BT,MAAM,CAAC0B,OAAO,CACZxB,IAAI,CAACyB,SAAS,EACbC,SAAS,IAAKA,SAAS,CAACC,YAAY,CAACpB,IAAI,CAAC,CAC5C,CAAC,CALJT,MAAM,CAAC8B,MAAM,CAAC9B,MAAM,CAAC0B,OAAO,CAACzB,UAAU,CAACA,UAAU,EAAG8B,EAAE,IAAKA,EAAE,CAACC,IAAI,CAAC3B,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,EAsBpF;AAEH;AACA,OAAO,MAAM4B,OAAO,GAAGA,CACrB7B,IAAwB,EACxBE,OAA4C,KAE5CN,MAAM,CAAC0B,OAAO,CAACxB,IAAI,CAACyB,SAAS,EAAGC,SAAS,IACvC5B,MAAM,CAACO,GAAG,CAACqB,SAAS,CAACM,WAAW,CAAC9B,IAAI,CAAC,EAAGI,IAAI,IAAI;EAC/C,MAAME,OAAO,GAA2B;IACtC,IAAIJ,OAAO,EAAEI,OAAO,IAAI,EAAE,CAAC;IAC3BF,IAAI,EAAEN,IAAI,CAACS,QAAQ,CAACH,IAAI,CAAC;IACzB,eAAe,EAAE,IAAI2B,IAAI,CAAC/B,IAAI,CAACgC,YAAY,CAAC,CAACrB,WAAW;GACzD;EACD,OAAOZ,cAAc,CAACqB,GAAG,CAACpB,IAAI,EAAE;IAAE,GAAGE,OAAO;IAAEI;EAAO,CAAE,CAAC;AAC1D,CAAC,CAAC,CAAC"}
@@ -1,33 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- *
4
- * Also includes exports from [`@effect/platform/Http/ServerResponse`](https://effect-ts.github.io/platform/platform/Http/ServerResponse.ts.html).
5
- */
6
- import type * as Effect from "@effect/io/Effect"
7
- import * as internal from "@effect/platform-bun/internal/http/serverResponse"
8
- import type * as PlatformError from "@effect/platform/Error"
9
- import type * as FileSystem from "@effect/platform/FileSystem"
10
- import type * as Body from "@effect/platform/Http/Body"
11
- import type * as Etag from "@effect/platform/Http/Etag"
12
- import type * as ServerResponse from "@effect/platform/Http/ServerResponse"
13
-
14
- export * from "@effect/platform/Http/ServerResponse"
15
-
16
- /**
17
- * @since 1.0.0
18
- * @category constructors
19
- */
20
- export const file: (
21
- path: string,
22
- options?: ServerResponse.Options.WithContentType & FileSystem.StreamOptions
23
- ) => Effect.Effect<FileSystem.FileSystem | Etag.Generator, PlatformError.PlatformError, ServerResponse.ServerResponse> =
24
- internal.file
25
-
26
- /**
27
- * @since 1.0.0
28
- * @category constructors
29
- */
30
- export const fileWeb: (
31
- file: Body.Body.FileLike,
32
- options?: ServerResponse.Options.WithContent
33
- ) => Effect.Effect<Etag.Generator, never, ServerResponse.ServerResponse> = internal.fileWeb
@@ -1,52 +0,0 @@
1
- import { pipe } from "@effect/data/Function"
2
- import * as Effect from "@effect/io/Effect"
3
- import type * as PlatformError from "@effect/platform/Error"
4
- import * as FileSystem from "@effect/platform/FileSystem"
5
- import type * as Body from "@effect/platform/Http/Body"
6
- import * as Etag from "@effect/platform/Http/Etag"
7
- import * as ServerResponse from "@effect/platform/Http/ServerResponse"
8
-
9
- /** @internal */
10
- export const file = (
11
- path: string,
12
- options?: ServerResponse.Options.WithContentType & FileSystem.StreamOptions
13
- ): Effect.Effect<FileSystem.FileSystem | Etag.Generator, PlatformError.PlatformError, ServerResponse.ServerResponse> =>
14
- pipe(
15
- Effect.bindTo(Effect.flatMap(FileSystem.FileSystem, (fs) => fs.stat(path)), "info"),
16
- Effect.bind("etag", ({ info }) =>
17
- Effect.flatMap(
18
- Etag.Generator,
19
- (generator) => generator.fromFileInfo(info)
20
- )),
21
- Effect.map(({ etag, info }) => {
22
- const headers: Record<string, string> = {
23
- ...(options?.headers ?? {}),
24
- etag: Etag.toString(etag)
25
- }
26
- if (info.mtime._tag === "Some") {
27
- headers["last-modified"] = info.mtime.value.toUTCString()
28
- }
29
- let file = Bun.file(path)
30
- if (options?.bytesToRead !== undefined || options?.offset !== undefined) {
31
- const start = Number(options?.offset ?? 0)
32
- const end = options?.bytesToRead !== undefined ? start + Number(options.bytesToRead) : undefined
33
- file = file.slice(start, end)
34
- }
35
- return ServerResponse.raw(file, { ...options, headers })
36
- })
37
- )
38
-
39
- /** @internal */
40
- export const fileWeb = (
41
- file: Body.Body.FileLike,
42
- options?: ServerResponse.Options.WithContent
43
- ): Effect.Effect<Etag.Generator, never, ServerResponse.ServerResponse> =>
44
- Effect.flatMap(Etag.Generator, (generator) =>
45
- Effect.map(generator.fromFileWeb(file), (etag) => {
46
- const headers: Record<string, string> = {
47
- ...(options?.headers ?? {}),
48
- etag: Etag.toString(etag),
49
- "last-modified": new Date(file.lastModified).toUTCString()
50
- }
51
- return ServerResponse.raw(file, { ...options, headers })
52
- }))