@effect/platform 0.31.0 → 0.31.2

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/dist/cjs/Http/App.js +43 -1
  2. package/dist/cjs/Http/App.js.map +1 -1
  3. package/dist/cjs/Http/Middleware.js +11 -1
  4. package/dist/cjs/Http/Middleware.js.map +1 -1
  5. package/dist/cjs/Http/ServerRequest.js +6 -1
  6. package/dist/cjs/Http/ServerRequest.js.map +1 -1
  7. package/dist/cjs/Http/ServerResponse.js +6 -1
  8. package/dist/cjs/Http/ServerResponse.js.map +1 -1
  9. package/dist/cjs/internal/http/middleware.js +7 -2
  10. package/dist/cjs/internal/http/middleware.js.map +1 -1
  11. package/dist/cjs/internal/http/serverRequest.js +112 -1
  12. package/dist/cjs/internal/http/serverRequest.js.map +1 -1
  13. package/dist/cjs/internal/http/serverResponse.js +49 -1
  14. package/dist/cjs/internal/http/serverResponse.js.map +1 -1
  15. package/dist/dts/Http/App.d.ts +22 -2
  16. package/dist/dts/Http/App.d.ts.map +1 -1
  17. package/dist/dts/Http/Middleware.d.ts +15 -0
  18. package/dist/dts/Http/Middleware.d.ts.map +1 -1
  19. package/dist/dts/Http/ServerRequest.d.ts +5 -0
  20. package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
  21. package/dist/dts/Http/ServerResponse.d.ts +5 -0
  22. package/dist/dts/Http/ServerResponse.d.ts.map +1 -1
  23. package/dist/esm/Http/App.js +40 -0
  24. package/dist/esm/Http/App.js.map +1 -1
  25. package/dist/esm/Http/Middleware.js +10 -0
  26. package/dist/esm/Http/Middleware.js.map +1 -1
  27. package/dist/esm/Http/ServerRequest.js +5 -0
  28. package/dist/esm/Http/ServerRequest.js.map +1 -1
  29. package/dist/esm/Http/ServerResponse.js +5 -0
  30. package/dist/esm/Http/ServerResponse.js.map +1 -1
  31. package/dist/esm/internal/http/middleware.js +6 -1
  32. package/dist/esm/internal/http/middleware.js.map +1 -1
  33. package/dist/esm/internal/http/serverRequest.js +110 -0
  34. package/dist/esm/internal/http/serverRequest.js.map +1 -1
  35. package/dist/esm/internal/http/serverResponse.js +47 -0
  36. package/dist/esm/internal/http/serverResponse.js.map +1 -1
  37. package/package.json +1 -1
  38. package/src/Http/App.ts +50 -2
  39. package/src/Http/Middleware.ts +23 -0
  40. package/src/Http/ServerRequest.ts +6 -0
  41. package/src/Http/ServerResponse.ts +6 -0
  42. package/src/internal/http/middleware.ts +28 -7
  43. package/src/internal/http/serverRequest.ts +159 -0
  44. package/src/internal/http/serverResponse.ts +44 -1
@@ -3,7 +3,9 @@
3
3
  */
4
4
  import type * as Effect from "effect/Effect";
5
5
  import type * as FiberRef from "effect/FiberRef";
6
+ import type * as Predicate from "effect/Predicate";
6
7
  import type * as App from "./App.js";
8
+ import type * as ServerRequest from "./ServerRequest.js";
7
9
  /**
8
10
  * @since 1.0.0
9
11
  * @category models
@@ -42,6 +44,19 @@ export declare const loggerDisabled: FiberRef.FiberRef<boolean>;
42
44
  * @category fiber refs
43
45
  */
44
46
  export declare const withLoggerDisabled: <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
47
+ /**
48
+ * @since 1.0.0
49
+ * @category fiber refs
50
+ */
51
+ export declare const currentTracerDisabledWhen: FiberRef.FiberRef<Predicate.Predicate<ServerRequest.ServerRequest>>;
52
+ /**
53
+ * @since 1.0.0
54
+ * @category fiber refs
55
+ */
56
+ export declare const withTracerDisabledWhen: {
57
+ (predicate: Predicate.Predicate<ServerRequest.ServerRequest>): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
58
+ <R, E, A>(effect: Effect.Effect<R, E, A>, predicate: Predicate.Predicate<ServerRequest.ServerRequest>): Effect.Effect<R, E, A>;
59
+ };
45
60
  /**
46
61
  * @since 1.0.0
47
62
  * @category constructors
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../../src/Http/Middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAEhD,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAEpC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACvD;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC;;OAEG;IACH,UAAiB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC5D,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;KAC7B;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,KAAK,CAAiB,CAAA;AAE7E;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAA2B,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACpE,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAA8B,CAAA"}
1
+ {"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../../src/Http/Middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAExD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACvD;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC;;OAEG;IACH,UAAiB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC5D,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;KAC7B;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,KAAK,CAAiB,CAAA;AAE7E;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAA2B,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACpE,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CACtE,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE;IACnC,CACE,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,GAC1D,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACtE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,GAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CACQ,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAA8B,CAAA"}
@@ -82,4 +82,9 @@ export declare const schemaFormData: <I extends FormData.PersistedFormData, A>(s
82
82
  * @category schema
83
83
  */
84
84
  export declare const schemaFormDataJson: <I, A>(schema: Schema.Schema<I, A>) => (field: string) => Effect.Effect<ServerRequest | Scope.Scope | FileSystem.FileSystem | Path.Path, Error.RequestError | FormData.FormDataError | ParseResult.ParseError, A>;
85
+ /**
86
+ * @since 1.0.0
87
+ * @category conversions
88
+ */
89
+ export declare const fromWeb: (request: Request) => ServerRequest;
85
90
  //# sourceMappingURL=ServerRequest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerRequest.d.ts","sourceRoot":"","sources":["../../../src/Http/ServerRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerRequest.d.ts","sourceRoot":"","sources":["../../../src/Http/ServerRequest.ts"],"names":[],"mappings":"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"}
@@ -155,4 +155,9 @@ export declare const setStatus: {
155
155
  (status: number, statusText?: string | undefined): (self: ServerResponse) => ServerResponse;
156
156
  (self: ServerResponse, status: number, statusText?: string | undefined): ServerResponse;
157
157
  };
158
+ /**
159
+ * @since 1.0.0
160
+ * @category conversions
161
+ */
162
+ export declare const toWeb: (response: ServerResponse, withoutBody?: boolean) => Response;
158
163
  //# sourceMappingURL=ServerResponse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerResponse.d.ts","sourceRoot":"","sources":["../../../src/Http/ServerResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerResponse.d.ts","sourceRoot":"","sources":["../../../src/Http/ServerResponse.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,aAAa,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAEnD,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,MAAM,eAAqD,CAAA;AAExE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC;IACjF,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACjC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAA;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAA;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B;;;OAGG;IACH,UAAiB,WAAY,SAAQ,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAAC;KAAG;IAEtF;;;OAGG;IACH,UAAiB,eAAgB,SAAQ,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC;KAAG;CAC3E;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,IAAI,cAA0C,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,KAAK,cAA+B,CAAA;AAEtF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,KAAK,cAAoC,CAAA;AAEtH;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,KAAK,cAA8B,CAAA;AAEtG;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,KAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAAiB,CAAA;AAEzE;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KACxB,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAC/E,CAAA;AAErB;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,KAAK,cAAoC,CAAA;AAE/G;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,KAAK,cAAmC,CAAA;AAErH;;;GAGG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,cAA6B,CAAA;AAErF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,KAAK,cAAkC,CAAA;AAE5G;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,cAC5E,CAAA;AAEjB;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,aAAa,KACzC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,EAAE,cAAc,CAAiB,CAAA;AAElG;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,CACpB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC,aAAa,KACrD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAoB,CAAA;AAE/E;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CAAA;IACtE,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAA;CAC9C,CAAA;AAEtB;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CAAA;IAChE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,cAAc,CAAA;CACvC,CAAA;AAEvB;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CAAA;IAC3D,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;CACrC,CAAA;AAEpB;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE;IACtB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CAAA;IAC3F,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc,CAAA;CACnE,CAAA;AAEtB;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,OAAO,KAAK,QAAyB,CAAA"}
@@ -2,11 +2,17 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as Effect from "effect/Effect";
5
+ import * as Exit from "effect/Exit";
5
6
  import * as FiberRef from "effect/FiberRef";
6
7
  import { dual } from "effect/Function";
7
8
  import { globalValue } from "effect/GlobalValue";
9
+ import * as Layer from "effect/Layer";
8
10
  import * as ReadonlyArray from "effect/ReadonlyArray";
11
+ import * as Runtime from "effect/Runtime";
12
+ import * as Scope from "effect/Scope";
9
13
  import * as internalMiddleware from "../internal/http/middleware.js";
14
+ import * as ServerRequest from "./ServerRequest.js";
15
+ import * as ServerResponse from "./ServerResponse.js";
10
16
  /**
11
17
  * @since 1.0.0
12
18
  * @category combinators
@@ -39,4 +45,38 @@ export const appendPreResponseHandler = handler => FiberRef.update(currentPreRes
39
45
  * @category fiber refs
40
46
  */
41
47
  export const withPreResponseHandler = /*#__PURE__*/dual(2, (self, handler) => Effect.locallyWith(self, currentPreResponseHandlers, ReadonlyArray.append(handler)));
48
+ /**
49
+ * @since 1.0.0
50
+ * @category conversions
51
+ */
52
+ export const toWebHandlerRuntime = runtime => {
53
+ const run = Runtime.runPromise(runtime);
54
+ return self => {
55
+ self = withDefaultMiddleware(self);
56
+ return request => {
57
+ const req = ServerRequest.fromWeb(request);
58
+ return run(Effect.map(Effect.provideService(self, ServerRequest.ServerRequest, req), res => ServerResponse.toWeb(res, req.method === "HEAD")));
59
+ };
60
+ };
61
+ };
62
+ /**
63
+ * @since 1.0.0
64
+ * @category conversions
65
+ */
66
+ export const toWebHandler = /*#__PURE__*/toWebHandlerRuntime(Runtime.defaultRuntime);
67
+ /**
68
+ * @since 1.0.0
69
+ * @category conversions
70
+ */
71
+ export const toWebHandlerLayer = (self, layer) => {
72
+ const scope = Effect.runSync(Scope.make());
73
+ const close = () => Effect.runPromise(Scope.close(scope, Exit.unit));
74
+ const build = Effect.map(Layer.toRuntime(layer), _ => toWebHandlerRuntime(_)(self));
75
+ const runner = Effect.runPromise(Scope.extend(build, scope));
76
+ const handler = request => runner.then(handler => handler(request));
77
+ return {
78
+ close,
79
+ handler
80
+ };
81
+ };
42
82
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","names":["Effect","FiberRef","dual","globalValue","ReadonlyArray","internalMiddleware","withDefaultMiddleware","self","tracer","currentPreResponseHandlers","Symbol","for","unsafeMake","noopHandler","_request","response","succeed","preResponseHandler","map","get","handlers","length","reduce","acc","handler","request","flatMap","appendPreResponseHandler","update","append","withPreResponseHandler","locallyWith"],"sources":["../../../src/Http/App.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAASC,WAAW,QAAQ,oBAAoB;AAChD,OAAO,KAAKC,aAAa,MAAM,sBAAsB;AACrD,OAAO,KAAKC,kBAAkB,MAAM,gCAAgC;AAiBpE;;;;AAIA,OAAO,MAAMC,qBAAqB,GAChCC,IAAmB,IACDF,kBAAkB,CAACG,MAAM,CAACD,IAAI,CAAC;AAWnD;;;;AAIA,OAAO,MAAME,0BAA0B,gBAAyDN,WAAW,eACzGO,MAAM,CAACC,GAAG,CAAC,+CAA+C,CAAC,EAC3D,MAAMV,QAAQ,CAACW,UAAU,CAAoC,EAAE,CAAC,CACjE;AAED,SAASC,WAAWA,CAACC,QAAqC,EAAEC,QAAuC;EACjG,OAAOf,MAAM,CAACgB,OAAO,CAACD,QAAQ,CAAC;AACjC;AAEA;;;;AAIA,OAAO,MAAME,kBAAkB,gBAAoDjB,MAAM,CAACkB,GAAG,eAC3FjB,QAAQ,CAACkB,GAAG,CAACV,0BAA0B,CAAC,EACvCW,QAAQ,IACPA,QAAQ,CAACC,MAAM,KAAK,CAAC,GACnBR,WAAW,GACXO,QAAQ,CAACE,MAAM,CAAC,CAACC,GAAG,EAAEC,OAAO,KAAM,UAASC,OAAO,EAAEV,QAAQ;EAC3D,OAAOf,MAAM,CAAC0B,OAAO,CACnBH,GAAG,CAACE,OAAO,EAAEV,QAAQ,CAAC,EACtB,UAASA,QAAQ;IACf,OAAOS,OAAO,CAACC,OAAO,EAAEV,QAAQ,CAAC;EACnC,CAAC,CACF;AACH,CAAE,CAAC,CACR;AAED;;;;AAIA,OAAO,MAAMY,wBAAwB,GACnCH,OAA2B,IAE3BvB,QAAQ,CAAC2B,MAAM,CACbnB,0BAA0B,EAC1BL,aAAa,CAACyB,MAAM,CAACL,OAAO,CAAC,CAC9B;AAEH;;;;AAIA,OAAO,MAAMM,sBAAsB,gBAAG5B,IAAI,CAGxC,CAAC,EAAE,CAACK,IAAI,EAAEiB,OAAO,KACjBxB,MAAM,CAAC+B,WAAW,CAChBxB,IAAI,EACJE,0BAA0B,EAC1BL,aAAa,CAACyB,MAAM,CAACL,OAAO,CAAC,CAC9B,CAAC"}
1
+ {"version":3,"file":"App.js","names":["Effect","Exit","FiberRef","dual","globalValue","Layer","ReadonlyArray","Runtime","Scope","internalMiddleware","ServerRequest","ServerResponse","withDefaultMiddleware","self","tracer","currentPreResponseHandlers","Symbol","for","unsafeMake","noopHandler","_request","response","succeed","preResponseHandler","map","get","handlers","length","reduce","acc","handler","request","flatMap","appendPreResponseHandler","update","append","withPreResponseHandler","locallyWith","toWebHandlerRuntime","runtime","run","runPromise","req","fromWeb","provideService","res","toWeb","method","toWebHandler","defaultRuntime","toWebHandlerLayer","layer","scope","runSync","make","close","unit","build","toRuntime","_","runner","extend","then"],"sources":["../../../src/Http/App.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -19,6 +19,16 @@ export const loggerDisabled = internal.loggerDisabled;
19
19
  * @category fiber refs
20
20
  */
21
21
  export const withLoggerDisabled = internal.withLoggerDisabled;
22
+ /**
23
+ * @since 1.0.0
24
+ * @category fiber refs
25
+ */
26
+ export const currentTracerDisabledWhen = internal.currentTracerDisabledWhen;
27
+ /**
28
+ * @since 1.0.0
29
+ * @category fiber refs
30
+ */
31
+ export const withTracerDisabledWhen = internal.withTracerDisabledWhen;
22
32
  /**
23
33
  * @since 1.0.0
24
34
  * @category constructors
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.js","names":["internal","make","logger","loggerDisabled","withLoggerDisabled","xForwardedHeaders"],"sources":["../../../src/Http/Middleware.ts"],"sourcesContent":[null],"mappings":"AAKA,OAAO,KAAKA,QAAQ,MAAM,gCAAgC;AAuB1D;;;;AAIA,OAAO,MAAMC,IAAI,GAA+CD,QAAQ,CAACC,IAAI;AAE7E;;;;AAIA,OAAO,MAAMC,MAAM,GAA4DF,QAAQ,CAACE,MAAM;AAE9F;;;;AAIA,OAAO,MAAMC,cAAc,GAA+BH,QAAQ,CAACG,cAAc;AAEjF;;;;AAIA,OAAO,MAAMC,kBAAkB,GAC7BJ,QAAQ,CAACI,kBAAkB;AAE7B;;;;AAIA,OAAO,MAAMC,iBAAiB,GAA4DL,QAAQ,CAACK,iBAAiB"}
1
+ {"version":3,"file":"Middleware.js","names":["internal","make","logger","loggerDisabled","withLoggerDisabled","currentTracerDisabledWhen","withTracerDisabledWhen","xForwardedHeaders"],"sources":["../../../src/Http/Middleware.ts"],"sourcesContent":[null],"mappings":"AAMA,OAAO,KAAKA,QAAQ,MAAM,gCAAgC;AAwB1D;;;;AAIA,OAAO,MAAMC,IAAI,GAA+CD,QAAQ,CAACC,IAAI;AAE7E;;;;AAIA,OAAO,MAAMC,MAAM,GAA4DF,QAAQ,CAACE,MAAM;AAE9F;;;;AAIA,OAAO,MAAMC,cAAc,GAA+BH,QAAQ,CAACG,cAAc;AAEjF;;;;AAIA,OAAO,MAAMC,kBAAkB,GAC7BJ,QAAQ,CAACI,kBAAkB;AAE7B;;;;AAIA,OAAO,MAAMC,yBAAyB,GACpCL,QAAQ,CAACK,yBAAyB;AAEpC;;;;AAIA,OAAO,MAAMC,sBAAsB,GAQ/BN,QAAQ,CAACM,sBAAsB;AAEnC;;;;AAIA,OAAO,MAAMC,iBAAiB,GAA4DP,QAAQ,CAACO,iBAAiB"}
@@ -45,4 +45,9 @@ export const schemaFormData = internal.schemaFormData;
45
45
  * @category schema
46
46
  */
47
47
  export const schemaFormDataJson = internal.schemaFormDataJson;
48
+ /**
49
+ * @since 1.0.0
50
+ * @category conversions
51
+ */
52
+ export const fromWeb = internal.fromWeb;
48
53
  //# sourceMappingURL=ServerRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerRequest.js","names":["internal","maxBodySize","TypeId","ServerRequest","serverRequestTag","persistedFormData","schemaHeaders","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaFormDataJson"],"sources":["../../../src/Http/ServerRequest.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,mCAAmC;AAQ7D;AACE;;;;AAIAC,WAAW,QACN,sBAAsB;AAE7B;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBF,QAAQ,CAACE,MAAM;AAkCpD;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CH,QAAQ,CAACI,gBAAgB;AAEjG;;;;AAIA,OAAO,MAAMC,iBAAiB,GAI1BL,QAAQ,CAACK,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,aAAa,GAEqCN,QAAQ,CAACM,aAAa;AAErF;;;;AAIA,OAAO,MAAMC,cAAc,GAEyDP,QAAQ,CAACO,cAAc;AAE3G;;;;AAIA,OAAO,MAAMC,mBAAmB,GAEoDR,QAAQ,CAACQ,mBAAmB;AAEhH;;;;AAIA,OAAO,MAAMC,cAAc,GAMvBT,QAAQ,CAACS,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,kBAAkB,GAQ3BV,QAAQ,CAACU,kBAAkB"}
1
+ {"version":3,"file":"ServerRequest.js","names":["internal","maxBodySize","TypeId","ServerRequest","serverRequestTag","persistedFormData","schemaHeaders","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaFormDataJson","fromWeb"],"sources":["../../../src/Http/ServerRequest.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,mCAAmC;AAQ7D;AACE;;;;AAIAC,WAAW,QACN,sBAAsB;AAE7B;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBF,QAAQ,CAACE,MAAM;AAkCpD;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CH,QAAQ,CAACI,gBAAgB;AAEjG;;;;AAIA,OAAO,MAAMC,iBAAiB,GAI1BL,QAAQ,CAACK,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,aAAa,GAEqCN,QAAQ,CAACM,aAAa;AAErF;;;;AAIA,OAAO,MAAMC,cAAc,GAEyDP,QAAQ,CAACO,cAAc;AAE3G;;;;AAIA,OAAO,MAAMC,mBAAmB,GAEoDR,QAAQ,CAACQ,mBAAmB;AAEhH;;;;AAIA,OAAO,MAAMC,cAAc,GAMvBT,QAAQ,CAACS,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,kBAAkB,GAQ3BV,QAAQ,CAACU,kBAAkB;AAE/B;;;;AAIA,OAAO,MAAMC,OAAO,GAAwCX,QAAQ,CAACW,OAAO"}
@@ -88,4 +88,9 @@ export const setBody = internal.setBody;
88
88
  * @category combinators
89
89
  */
90
90
  export const setStatus = internal.setStatus;
91
+ /**
92
+ * @since 1.0.0
93
+ * @category conversions
94
+ */
95
+ export const toWeb = internal.toWeb;
91
96
  //# sourceMappingURL=ServerResponse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerResponse.js","names":["internal","TypeId","Symbol","for","isServerResponse","empty","uint8Array","text","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","setBody","setStatus"],"sources":["../../../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"AAQA,OAAO,KAAKA,QAAQ,MAAM,oCAAoC;AAM9D;;;;AAIA,OAAO,MAAMC,MAAM,gBAAGC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAiDxE;;;AAGA,OAAO,MAAMC,gBAAgB,GAAwCJ,QAAQ,CAACI,gBAAgB;AAE9F;;;;AAIA,OAAO,MAAMC,KAAK,GAAsDL,QAAQ,CAACK,KAAK;AAEtF;;;;AAIA,OAAO,MAAMC,UAAU,GAA4EN,QAAQ,CAACM,UAAU;AAEtH;;;;AAIA,OAAO,MAAMC,IAAI,GAAwEP,QAAQ,CAACO,IAAI;AAEtG;;;;AAIA,OAAO,MAAMC,IAAI,GAG2CR,QAAQ,CAACQ,IAAI;AAEzE;;;;AAIA,OAAO,MAAMC,UAAU,GAGrBT,QAAQ,CAACS,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,UAAU,GAAqEV,QAAQ,CAACU,UAAU;AAE/G;;;;AAIA,OAAO,MAAMC,SAAS,GAA6EX,QAAQ,CAACW,SAAS;AAErH;;;;AAIA,OAAO,MAAMC,GAAG,GAAyDZ,QAAQ,CAACY,GAAG;AAErF;;;;AAIA,OAAO,MAAMC,QAAQ,GAAsEb,QAAQ,CAACa,QAAQ;AAE5G;;;;AAIA,OAAO,MAAMC,MAAM,GACjBd,QAAQ,CAACc,MAAM;AAEjB;;;;AAIA,OAAO,MAAMC,IAAI,GAGoEf,QAAQ,CAACe,IAAI;AAElG;;;;AAIA,OAAO,MAAMC,OAAO,GAG2ChB,QAAQ,CAACgB,OAAO;AAE/E;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBjB,QAAQ,CAACiB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,UAAU,GAGnBlB,QAAQ,CAACkB,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,OAAO,GAGhBnB,QAAQ,CAACmB,OAAO;AAEpB;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBpB,QAAQ,CAACoB,SAAS"}
1
+ {"version":3,"file":"ServerResponse.js","names":["internal","TypeId","Symbol","for","isServerResponse","empty","uint8Array","text","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","setBody","setStatus","toWeb"],"sources":["../../../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"AAQA,OAAO,KAAKA,QAAQ,MAAM,oCAAoC;AAM9D;;;;AAIA,OAAO,MAAMC,MAAM,gBAAGC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAiDxE;;;AAGA,OAAO,MAAMC,gBAAgB,GAAwCJ,QAAQ,CAACI,gBAAgB;AAE9F;;;;AAIA,OAAO,MAAMC,KAAK,GAAsDL,QAAQ,CAACK,KAAK;AAEtF;;;;AAIA,OAAO,MAAMC,UAAU,GAA4EN,QAAQ,CAACM,UAAU;AAEtH;;;;AAIA,OAAO,MAAMC,IAAI,GAAwEP,QAAQ,CAACO,IAAI;AAEtG;;;;AAIA,OAAO,MAAMC,IAAI,GAG2CR,QAAQ,CAACQ,IAAI;AAEzE;;;;AAIA,OAAO,MAAMC,UAAU,GAGrBT,QAAQ,CAACS,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,UAAU,GAAqEV,QAAQ,CAACU,UAAU;AAE/G;;;;AAIA,OAAO,MAAMC,SAAS,GAA6EX,QAAQ,CAACW,SAAS;AAErH;;;;AAIA,OAAO,MAAMC,GAAG,GAAyDZ,QAAQ,CAACY,GAAG;AAErF;;;;AAIA,OAAO,MAAMC,QAAQ,GAAsEb,QAAQ,CAACa,QAAQ;AAE5G;;;;AAIA,OAAO,MAAMC,MAAM,GACjBd,QAAQ,CAACc,MAAM;AAEjB;;;;AAIA,OAAO,MAAMC,IAAI,GAGoEf,QAAQ,CAACe,IAAI;AAElG;;;;AAIA,OAAO,MAAMC,OAAO,GAG2ChB,QAAQ,CAACgB,OAAO;AAE/E;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBjB,QAAQ,CAACiB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,UAAU,GAGnBlB,QAAQ,CAACkB,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,OAAO,GAGhBnB,QAAQ,CAACmB,OAAO;AAEpB;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBpB,QAAQ,CAACoB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,KAAK,GAAkErB,QAAQ,CAACqB,KAAK"}
@@ -1,5 +1,6 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as FiberRef from "effect/FiberRef";
3
+ import * as Function from "effect/Function";
3
4
  import { globalValue } from "effect/GlobalValue";
4
5
  import * as Headers from "../../Http/Headers.js";
5
6
  import * as IncomingMessage from "../../Http/IncomingMessage.js";
@@ -11,6 +12,10 @@ export const loggerDisabled = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for(
11
12
  /** @internal */
12
13
  export const withLoggerDisabled = self => Effect.zipRight(FiberRef.set(loggerDisabled, true), self);
13
14
  /** @internal */
15
+ export const currentTracerDisabledWhen = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for("@effect/platform/Http/Middleware/tracerDisabledWhen"), () => FiberRef.unsafeMake(Function.constFalse));
16
+ /** @internal */
17
+ export const withTracerDisabledWhen = /*#__PURE__*/Function.dual(2, (self, pred) => Effect.locally(self, currentTracerDisabledWhen, pred));
18
+ /** @internal */
14
19
  export const logger = /*#__PURE__*/make(httpApp => {
15
20
  let counter = 0;
16
21
  return Effect.flatMap(ServerRequest.ServerRequest, request => Effect.withLogSpan(Effect.onExit(httpApp, exit => Effect.flatMap(FiberRef.get(loggerDisabled), disabled => {
@@ -31,7 +36,7 @@ export const logger = /*#__PURE__*/make(httpApp => {
31
36
  /** @internal */
32
37
  export const tracer = /*#__PURE__*/make(httpApp => {
33
38
  const appWithStatus = Effect.tap(httpApp, response => Effect.annotateCurrentSpan("http.status", response.status));
34
- return Effect.flatMap(ServerRequest.ServerRequest, request => Effect.flatMap(request.headers["x-b3-traceid"] || request.headers["b3"] ? Effect.orElseSucceed(IncomingMessage.schemaExternalSpan(request), () => undefined) : Effect.succeed(undefined), parent => Effect.withSpan(appWithStatus, `http ${request.method}`, {
39
+ return Effect.flatMap(Effect.zip(ServerRequest.ServerRequest, FiberRef.get(currentTracerDisabledWhen)), ([request, disabledWhen]) => Effect.flatMap(request.headers["x-b3-traceid"] || request.headers["b3"] ? Effect.orElseSucceed(IncomingMessage.schemaExternalSpan(request), () => undefined) : Effect.succeed(undefined), parent => disabledWhen(request) ? httpApp : Effect.withSpan(appWithStatus, `http ${request.method}`, {
35
40
  attributes: {
36
41
  "http.method": request.method,
37
42
  "http.url": request.url
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","names":["Effect","FiberRef","globalValue","Headers","IncomingMessage","ServerRequest","make","middleware","loggerDisabled","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","set","logger","httpApp","counter","flatMap","request","withLogSpan","onExit","exit","get","disabled","unit","_tag","annotateLogs","log","cause","method","url","value","status","tracer","appWithStatus","tap","response","annotateCurrentSpan","headers","orElseSucceed","schemaExternalSpan","undefined","succeed","parent","withSpan","attributes","xForwardedHeaders","updateService","modify","remoteAddress","split","trim"],"sources":["../../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","names":["Effect","FiberRef","Function","globalValue","Headers","IncomingMessage","ServerRequest","make","middleware","loggerDisabled","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","set","currentTracerDisabledWhen","constFalse","withTracerDisabledWhen","dual","pred","locally","logger","httpApp","counter","flatMap","request","withLogSpan","onExit","exit","get","disabled","unit","_tag","annotateLogs","log","cause","method","url","value","status","tracer","appWithStatus","tap","response","annotateCurrentSpan","zip","disabledWhen","headers","orElseSucceed","schemaExternalSpan","undefined","succeed","parent","withSpan","attributes","xForwardedHeaders","updateService","modify","remoteAddress","split","trim"],"sources":["../../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import * as Context from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
+ import * as Option from "effect/Option";
4
+ import * as Stream from "effect/Stream";
3
5
  import * as FormData from "../../Http/FormData.js";
6
+ import * as Headers from "../../Http/Headers.js";
4
7
  import * as IncomingMessage from "../../Http/IncomingMessage.js";
5
8
  import * as Error from "../../Http/ServerError.js";
9
+ import * as UrlParams from "../../Http/UrlParams.js";
6
10
  /** @internal */
7
11
  export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ServerRequest");
8
12
  /** @internal */
@@ -38,4 +42,110 @@ export const schemaFormDataJson = schema => {
38
42
  error: error.error
39
43
  })))));
40
44
  };
45
+ /** @internal */
46
+ export const fromWeb = request => new ServerRequestImpl(request, request.url);
47
+ class ServerRequestImpl {
48
+ source;
49
+ url;
50
+ headersOverride;
51
+ remoteAddressOverride;
52
+ [TypeId];
53
+ [IncomingMessage.TypeId];
54
+ constructor(source, url, headersOverride, remoteAddressOverride) {
55
+ this.source = source;
56
+ this.url = url;
57
+ this.headersOverride = headersOverride;
58
+ this.remoteAddressOverride = remoteAddressOverride;
59
+ this[TypeId] = TypeId;
60
+ this[IncomingMessage.TypeId] = IncomingMessage.TypeId;
61
+ }
62
+ modify(options) {
63
+ return new ServerRequestImpl(this.source, options.url ?? this.url, options.headers ?? this.headersOverride, options.remoteAddress ?? this.remoteAddressOverride);
64
+ }
65
+ get method() {
66
+ return this.source.method.toUpperCase();
67
+ }
68
+ get originalUrl() {
69
+ return this.source.url;
70
+ }
71
+ get remoteAddress() {
72
+ return this.remoteAddressOverride ? Option.some(this.remoteAddressOverride) : Option.none();
73
+ }
74
+ get headers() {
75
+ this.headersOverride ??= Headers.fromInput(this.source.headers);
76
+ return this.headersOverride;
77
+ }
78
+ get stream() {
79
+ return this.source.body ? Stream.fromReadableStream(() => this.source.body, _ => Error.RequestError({
80
+ request: this,
81
+ reason: "Decode",
82
+ error: _
83
+ })) : Stream.fail(Error.RequestError({
84
+ request: this,
85
+ reason: "Decode",
86
+ error: "can not create stream from empty body"
87
+ }));
88
+ }
89
+ textEffect;
90
+ get text() {
91
+ if (this.textEffect) {
92
+ return this.textEffect;
93
+ }
94
+ this.textEffect = Effect.runSync(Effect.cached(Effect.tryPromise({
95
+ try: () => this.source.text(),
96
+ catch: error => Error.RequestError({
97
+ request: this,
98
+ reason: "Decode",
99
+ error
100
+ })
101
+ })));
102
+ return this.textEffect;
103
+ }
104
+ get json() {
105
+ return Effect.tryMap(this.text, {
106
+ try: _ => JSON.parse(_),
107
+ catch: error => Error.RequestError({
108
+ request: this,
109
+ reason: "Decode",
110
+ error
111
+ })
112
+ });
113
+ }
114
+ get urlParamsBody() {
115
+ return Effect.flatMap(this.text, _ => Effect.try({
116
+ try: () => UrlParams.fromInput(new URLSearchParams(_)),
117
+ catch: error => Error.RequestError({
118
+ request: this,
119
+ reason: "Decode",
120
+ error
121
+ })
122
+ }));
123
+ }
124
+ formDataEffect;
125
+ get formData() {
126
+ if (this.formDataEffect) {
127
+ return this.formDataEffect;
128
+ }
129
+ this.formDataEffect = Effect.runSync(Effect.cached(FormData.formData(this.formDataStream)));
130
+ return this.formDataEffect;
131
+ }
132
+ get formDataStream() {
133
+ return Stream.pipeThroughChannel(Stream.mapError(this.stream, error => FormData.FormDataError("InternalError", error)), FormData.makeChannel(this.headers));
134
+ }
135
+ arrayBufferEffect;
136
+ get arrayBuffer() {
137
+ if (this.arrayBuffer) {
138
+ return this.arrayBuffer;
139
+ }
140
+ this.arrayBufferEffect = Effect.runSync(Effect.cached(Effect.tryPromise({
141
+ try: () => this.source.arrayBuffer(),
142
+ catch: error => Error.RequestError({
143
+ request: this,
144
+ reason: "Decode",
145
+ error
146
+ })
147
+ })));
148
+ return this.arrayBufferEffect;
149
+ }
150
+ }
41
151
  //# sourceMappingURL=serverRequest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverRequest.js","names":["Context","Effect","FormData","IncomingMessage","Error","TypeId","Symbol","for","serverRequestTag","Tag","persistedFormData","flatMap","request","formData","schemaHeaders","schema","parse","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaPersisted","schemaFormDataJson","schemaJson","field","catchTag","error","fail","RequestError","reason"],"sources":["../../../../src/internal/http/serverRequest.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAClD,OAAO,KAAKC,eAAe,MAAM,+BAA+B;AAChE,OAAO,KAAKC,KAAK,MAAM,2BAA2B;AAGlD;AACA,OAAO,MAAMC,MAAM,gBAAyBC,MAAM,CAACC,GAAG,CAAC,qCAAqC,CAAyB;AAErH;AACA,OAAO,MAAMC,gBAAgB,gBAAGR,OAAO,CAACS,GAAG,CAA8BJ,MAAM,CAAC;AAEhF;AACA,OAAO,MAAMK,iBAAiB,gBAAGT,MAAM,CAACU,OAAO,CAACH,gBAAgB,EAAGI,OAAO,IAAKA,OAAO,CAACC,QAAQ,CAAC;AAEhG;AACA,OAAO,MAAMC,aAAa,GAAmDC,MAA2B,IAAI;EAC1G,MAAMC,KAAK,GAAGb,eAAe,CAACW,aAAa,CAACC,MAAM,CAAC;EACnD,OAAOd,MAAM,CAACU,OAAO,CAACH,gBAAgB,EAAEQ,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAMC,cAAc,GAAUF,MAA2B,IAAI;EAClE,MAAMC,KAAK,GAAGb,eAAe,CAACc,cAAc,CAACF,MAAM,CAAC;EACpD,OAAOd,MAAM,CAACU,OAAO,CAACH,gBAAgB,EAAEQ,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAME,mBAAmB,GAAmDH,MAA2B,IAAI;EAChH,MAAMC,KAAK,GAAGb,eAAe,CAACe,mBAAmB,CAACH,MAAM,CAAC;EACzD,OAAOd,MAAM,CAACU,OAAO,CAACH,gBAAgB,EAAEQ,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAMG,cAAc,GACzBJ,MAA2B,IACzB;EACF,MAAMC,KAAK,GAAGd,QAAQ,CAACkB,eAAe,CAACL,MAAM,CAAC;EAC9C,OAAOd,MAAM,CAACU,OAAO,CAACD,iBAAiB,EAAEM,KAAK,CAAC;AACjD,CAAC;AAED;AACA,OAAO,MAAMK,kBAAkB,GAAUN,MAA2B,IAAI;EACtE,MAAMC,KAAK,GAAGd,QAAQ,CAACoB,UAAU,CAACP,MAAM,CAAC;EACzC,OAAQQ,KAAa,IACnBtB,MAAM,CAACU,OAAO,CAACH,gBAAgB,EAAGI,OAAO,IACvCX,MAAM,CAACU,OAAO,CACZC,OAAO,CAACC,QAAQ,EACfA,QAAQ,IACPZ,MAAM,CAACuB,QAAQ,CACbR,KAAK,CAACH,QAAQ,EAAEU,KAAK,CAAC,EACtB,eAAe,EACdE,KAAK,IACJxB,MAAM,CAACyB,IAAI,CACTtB,KAAK,CAACuB,YAAY,CAAC;IACjBC,MAAM,EAAE,QAAQ;IAChBhB,OAAO;IACPa,KAAK,EAAEA,KAAK,CAACA;GACd,CAAC,CACH,CACJ,CACJ,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"serverRequest.js","names":["Context","Effect","Option","Stream","FormData","Headers","IncomingMessage","Error","UrlParams","TypeId","Symbol","for","serverRequestTag","Tag","persistedFormData","flatMap","request","formData","schemaHeaders","schema","parse","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaPersisted","schemaFormDataJson","schemaJson","field","catchTag","error","fail","RequestError","reason","fromWeb","ServerRequestImpl","url","source","headersOverride","remoteAddressOverride","constructor","modify","options","headers","remoteAddress","method","toUpperCase","originalUrl","some","none","fromInput","stream","body","fromReadableStream","_","textEffect","text","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","urlParamsBody","URLSearchParams","formDataEffect","formDataStream","pipeThroughChannel","mapError","FormDataError","makeChannel","arrayBufferEffect","arrayBuffer"],"sources":["../../../../src/internal/http/serverRequest.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as Effect from "effect/Effect";
2
2
  import * as Effectable from "effect/Effectable";
3
3
  import { dual } from "effect/Function";
4
+ import * as Stream from "effect/Stream";
4
5
  import * as Headers from "../../Http/Headers.js";
5
6
  import * as Platform from "../../Http/Platform.js";
6
7
  import * as UrlParams from "../../Http/UrlParams.js";
@@ -100,4 +101,50 @@ export const setBody = /*#__PURE__*/dual(2, (self, body) => {
100
101
  }
101
102
  return new ServerResponseImpl(self.status, self.statusText, headers, body);
102
103
  });
104
+ /** @internal */
105
+ export const toWeb = (response, withoutBody = false) => {
106
+ if (withoutBody) {
107
+ return new Response(undefined, {
108
+ status: response.status,
109
+ statusText: response.statusText,
110
+ headers: response.headers
111
+ });
112
+ }
113
+ const body = response.body;
114
+ switch (body._tag) {
115
+ case "Empty":
116
+ {
117
+ return new Response(undefined, {
118
+ status: response.status,
119
+ statusText: response.statusText,
120
+ headers: response.headers
121
+ });
122
+ }
123
+ case "Uint8Array":
124
+ case "Raw":
125
+ {
126
+ return new Response(body.body, {
127
+ status: response.status,
128
+ statusText: response.statusText,
129
+ headers: response.headers
130
+ });
131
+ }
132
+ case "FormData":
133
+ {
134
+ return new Response(body.formData, {
135
+ status: response.status,
136
+ statusText: response.statusText,
137
+ headers: response.headers
138
+ });
139
+ }
140
+ case "Stream":
141
+ {
142
+ return new Response(Stream.toReadableStream(body.stream), {
143
+ status: response.status,
144
+ statusText: response.statusText,
145
+ headers: response.headers
146
+ });
147
+ }
148
+ }
149
+ };
103
150
  //# sourceMappingURL=serverResponse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serverResponse.js","names":["Effect","Effectable","dual","Headers","Platform","UrlParams","internalBody","TypeId","Symbol","for","ServerResponseImpl","StructuralClass","status","statusText","body","headers","constructor","contentType","contentLength","newHeaders","toString","commit","succeed","toJSON","_id","isServerResponse","u","empty","options","uint8Array","getContentType","text","json","map","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","flatMap","platform","fileResponse","fileWeb","fileWebResponse","urlParams","fromInput","raw","formData","stream","setHeader","self","key","value","set","setHeaders","input","setAll","setStatus","args","setBody","_tag","remove"],"sources":["../../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"serverResponse.js","names":["Effect","Effectable","dual","Stream","Headers","Platform","UrlParams","internalBody","TypeId","Symbol","for","ServerResponseImpl","StructuralClass","status","statusText","body","headers","constructor","contentType","contentLength","newHeaders","toString","commit","succeed","toJSON","_id","isServerResponse","u","empty","options","uint8Array","getContentType","text","json","map","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","flatMap","platform","fileResponse","fileWeb","fileWebResponse","urlParams","fromInput","raw","formData","stream","setHeader","self","key","value","set","setHeaders","input","setAll","setStatus","args","setBody","_tag","remove","toWeb","response","withoutBody","Response","undefined","toReadableStream"],"sources":["../../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAIvC,OAAO,KAAKC,OAAO,MAAM,uBAAuB;AAChD,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAElD,OAAO,KAAKC,SAAS,MAAM,yBAAyB;AACpD,OAAO,KAAKC,YAAY,MAAM,WAAW;AAEzC;AACA,OAAO,MAAMC,MAAM,gBAA0BC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAA0B;AAExH,MAAMC,kBAAmB,SAAQV,UAAU,CAACW,eAA4D;EAM3FC,MAAA;EACAC,UAAA;EAEAC,IAAA;EANF,CAACP,MAAM;EACPQ,OAAO;EAChBC,YACWJ,MAAc,EACdC,UAA8B,EACvCE,OAAwB,EACfD,IAAe;IAExB,KAAK,EAAE;IALE,KAAAF,MAAM,GAANA,MAAM;IACN,KAAAC,UAAU,GAAVA,UAAU;IAEV,KAAAC,IAAI,GAAJA,IAAI;IAGb,IAAI,CAACP,MAAM,CAAC,GAAGA,MAAM;IACrB,IAAIO,IAAI,CAACG,WAAW,IAAIH,IAAI,CAACI,aAAa,EAAE;MAC1C,MAAMC,UAAU,GAAG;QAAE,GAAGJ;MAAO,CAAE;MACjC,IAAID,IAAI,CAACG,WAAW,EAAE;QACpBE,UAAU,CAAC,cAAc,CAAC,GAAGL,IAAI,CAACG,WAAW;MAC/C;MACA,IAAIH,IAAI,CAACI,aAAa,EAAE;QACtBC,UAAU,CAAC,gBAAgB,CAAC,GAAGL,IAAI,CAACI,aAAa,CAACE,QAAQ,EAAE;MAC9D;MACA,IAAI,CAACL,OAAO,GAAGI,UAAU;IAC3B,CAAC,MAAM;MACL,IAAI,CAACJ,OAAO,GAAGA,OAAO;IACxB;EACF;EAEAM,MAAMA,CAAA;IACJ,OAAOtB,MAAM,CAACuB,OAAO,CAAC,IAAI,CAAC;EAC7B;EAEAC,MAAMA,CAAA;IACJ,OAAO;MACLC,GAAG,EAAE,gBAAgB;MACrBZ,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BE,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBD,IAAI,EAAE,IAAI,CAACA;KACZ;EACH;;AAGF;AACA,OAAO,MAAMW,gBAAgB,GAAIC,CAAU,IACzC,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,IAAI,IAAInB,MAAM,IAAImB,CAAC;AAEpD;AACA,OAAO,MAAMC,KAAK,GAAIC,OAA4C,IAChE,IAAIlB,kBAAkB,CACpBkB,OAAO,EAAEhB,MAAM,IAAI,GAAG,EACtBgB,OAAO,EAAEf,UAAU,EACnBe,OAAO,EAAEb,OAAO,IAAIZ,OAAO,CAACwB,KAAK,EACjCrB,YAAY,CAACqB,KAAK,CACnB;AAEH;AACA,OAAO,MAAME,UAAU,GAAGA,CACxBf,IAAgB,EAChBc,OAAgD,KAEhD,IAAIlB,kBAAkB,CACpBkB,OAAO,EAAEhB,MAAM,IAAI,GAAG,EACtBgB,OAAO,EAAEf,UAAU,EACnBe,OAAO,EAAEb,OAAO,IAAIZ,OAAO,CAACwB,KAAK,EACjCrB,YAAY,CAACuB,UAAU,CAACf,IAAI,EAAEgB,cAAc,CAACF,OAAO,CAAC,CAAC,CACvD;AAEH;AACA,OAAO,MAAMG,IAAI,GAAGA,CAACjB,IAAY,EAAEc,OAAgD,KACjF,IAAIlB,kBAAkB,CACpBkB,OAAO,EAAEhB,MAAM,IAAI,GAAG,EACtBgB,OAAO,EAAEf,UAAU,EACnBe,OAAO,EAAEb,OAAO,IAAIZ,OAAO,CAACwB,KAAK,EACjCrB,YAAY,CAACyB,IAAI,CAACjB,IAAI,EAAEgB,cAAc,CAACF,OAAO,CAAC,CAAC,CACjD;AAEH;AACA,OAAO,MAAMI,IAAI,GAAGA,CAClBlB,IAAa,EACbc,OAA4C,KAE5C7B,MAAM,CAACkC,GAAG,CAAC3B,YAAY,CAAC0B,IAAI,CAAClB,IAAI,CAAC,EAAGA,IAAI,IACvC,IAAIJ,kBAAkB,CACpBkB,OAAO,EAAEhB,MAAM,IAAI,GAAG,EACtBgB,OAAO,EAAEf,UAAU,EACnBe,OAAO,EAAEb,OAAO,IAAIZ,OAAO,CAACwB,KAAK,EACjCb,IAAI,CACL,CAAC;AAEN;AACA,OAAO,MAAMoB,UAAU,GAAGA,CACxBpB,IAAa,EACbc,OAA4C,KAE5C,IAAIlB,kBAAkB,CACpBkB,OAAO,EAAEhB,MAAM,IAAI,GAAG,EACtBgB,OAAO,EAAEf,UAAU,EACnBe,OAAO,EAAEb,OAAO,IAAIZ,OAAO,CAACwB,KAAK,EACjCrB,YAAY,CAAC4B,UAAU,CAACpB,IAAI,CAAC,CAC9B;AAEH;AACA,OAAO,MAAMqB,UAAU,GACrBC,MAA2B,IACzB;EACF,MAAMC,MAAM,GAAG/B,YAAY,CAACgC,UAAU,CAACF,MAAM,CAAC;EAC9C,OAAO,CACLtB,IAAO,EACPc,OAA4C,KAE5C7B,MAAM,CAACkC,GAAG,CAACI,MAAM,CAACvB,IAAI,CAAC,EAAGA,IAAI,IAC5B,IAAIJ,kBAAkB,CACpBkB,OAAO,EAAEhB,MAAM,IAAI,GAAG,EACtBgB,OAAO,EAAEf,UAAU,EACnBe,OAAO,EAAEb,OAAO,IAAIZ,OAAO,CAACwB,KAAK,EACjCb,IAAI,CACL,CAAC;AACR,CAAC;AAED;AACA,OAAO,MAAMyB,IAAI,GAAGA,CAClBC,IAAY,EACZZ,OAA2D,KAE3D7B,MAAM,CAAC0C,OAAO,CACZrC,QAAQ,CAACA,QAAQ,EAChBsC,QAAQ,IAAKA,QAAQ,CAACC,YAAY,CAACH,IAAI,EAAEZ,OAAO,CAAC,CACnD;AAEH;AACA,OAAO,MAAMgB,OAAO,GAAGA,CACrBL,IAAwB,EACxBX,OAAuE,KAEvE7B,MAAM,CAAC0C,OAAO,CACZrC,QAAQ,CAACA,QAAQ,EAChBsC,QAAQ,IAAKA,QAAQ,CAACG,eAAe,CAACN,IAAI,EAAEX,OAAO,CAAC,CACtD;AAEH;AACA,OAAO,MAAMkB,SAAS,GAAGA,CACvBhC,IAAqB,EACrBc,OAA4C,KAE5C,IAAIlB,kBAAkB,CACpBkB,OAAO,EAAEhB,MAAM,IAAI,GAAG,EACtBgB,OAAO,EAAEf,UAAU,EACnBe,OAAO,EAAEb,OAAO,IAAIZ,OAAO,CAACwB,KAAK,EACjCrB,YAAY,CAACyB,IAAI,CAAC1B,SAAS,CAACe,QAAQ,CAACf,SAAS,CAAC0C,SAAS,CAACjC,IAAI,CAAC,CAAC,EAAE,mCAAmC,CAAC,CACtG;AAEH;AACA,OAAO,MAAMkC,GAAG,GAAGA,CAAClC,IAAa,EAAEc,OAAgC,KACjE,IAAIlB,kBAAkB,CACpBkB,OAAO,EAAEhB,MAAM,IAAI,GAAG,EACtBgB,OAAO,EAAEf,UAAU,EACnBe,OAAO,EAAEb,OAAO,IAAIZ,OAAO,CAACwB,KAAK,EACjCrB,YAAY,CAAC0C,GAAG,CAAClC,IAAI,CAAC,CACvB;AAEH;AACA,OAAO,MAAMmC,QAAQ,GAAGA,CAACnC,IAAc,EAAEc,OAA4C,KACnF,IAAIlB,kBAAkB,CACpBkB,OAAO,EAAEhB,MAAM,IAAI,GAAG,EACtBgB,OAAO,EAAEf,UAAU,EACnBe,OAAO,EAAEb,OAAO,IAAIZ,OAAO,CAACwB,KAAK,EACjCrB,YAAY,CAAC2C,QAAQ,CAACnC,IAAI,CAAC,CAC5B;AAEH;AACA,OAAO,MAAMoC,MAAM,GAAGA,CACpBpC,IAA+C,EAC/Cc,OAAgC,KAEhC,IAAIlB,kBAAkB,CACpBkB,OAAO,EAAEhB,MAAM,IAAI,GAAG,EACtBgB,OAAO,EAAEf,UAAU,EACnBe,OAAO,EAAEb,OAAO,IAAIZ,OAAO,CAACwB,KAAK,EACjCrB,YAAY,CAAC4C,MAAM,CAACpC,IAAI,EAAEgB,cAAc,CAACF,OAAO,CAAC,EAAEA,OAAO,EAAEV,aAAa,CAAC,CAC3E;AAEH;AACA,OAAO,MAAMY,cAAc,GAAIF,OAAgC,IAAwB;EACrF,IAAIA,OAAO,EAAEX,WAAW,EAAE;IACxB,OAAOW,OAAO,CAACX,WAAW;EAC5B,CAAC,MAAM,IAAIW,OAAO,EAAEb,OAAO,EAAE;IAC3B,OAAOa,OAAO,CAACb,OAAO,CAAC,cAAc,CAAC;EACxC,CAAC,MAAM;IACL;EACF;AACF,CAAC;AAED;AACA,OAAO,MAAMoC,SAAS,gBAAGlD,IAAI,CAG3B,CAAC,EAAE,CAACmD,IAAI,EAAEC,GAAG,EAAEC,KAAK,KACpB,IAAI5C,kBAAkB,CACpB0C,IAAI,CAACxC,MAAM,EACXwC,IAAI,CAACvC,UAAU,EACfV,OAAO,CAACoD,GAAG,CAACH,IAAI,CAACrC,OAAO,EAAEsC,GAAG,EAAEC,KAAK,CAAC,EACrCF,IAAI,CAACtC,IAAI,CACV,CAAC;AAEJ;AACA,OAAO,MAAM0C,UAAU,gBAAGvD,IAAI,CAG5B,CAAC,EAAE,CAACmD,IAAI,EAAEK,KAAK,KACf,IAAI/C,kBAAkB,CACpB0C,IAAI,CAACxC,MAAM,EACXwC,IAAI,CAACvC,UAAU,EACfV,OAAO,CAACuD,MAAM,CAACN,IAAI,CAACrC,OAAO,EAAE0C,KAAK,CAAC,EACnCL,IAAI,CAACtC,IAAI,CACV,CAAC;AAEJ;AACA,OAAO,MAAM6C,SAAS,gBAAG1D,IAAI,CAG1B2D,IAAI,IAAKnC,gBAAgB,CAACmC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAACR,IAAI,EAAExC,MAAM,EAAEC,UAAU,KAC9D,IAAIH,kBAAkB,CACpBE,MAAM,EACNC,UAAU,EACVuC,IAAI,CAACrC,OAAO,EACZqC,IAAI,CAACtC,IAAI,CACV,CAAC;AAEJ;AACA,OAAO,MAAM+C,OAAO,gBAAG5D,IAAI,CAGzB,CAAC,EAAE,CAACmD,IAAI,EAAEtC,IAAI,KAAI;EAClB,IAAIC,OAAO,GAAGqC,IAAI,CAACrC,OAAO;EAC1B,IAAID,IAAI,CAACgD,IAAI,KAAK,OAAO,EAAE;IACzB/C,OAAO,GAAGZ,OAAO,CAAC4D,MAAM,CAAC5D,OAAO,CAAC4D,MAAM,CAAChD,OAAO,EAAE,cAAc,CAAC,EAAE,gBAAgB,CAAC;EACrF;EACA,OAAO,IAAIL,kBAAkB,CAC3B0C,IAAI,CAACxC,MAAM,EACXwC,IAAI,CAACvC,UAAU,EACfE,OAAO,EACPD,IAAI,CACL;AACH,CAAC,CAAC;AAEF;AACA,OAAO,MAAMkD,KAAK,GAAGA,CAACC,QAAuC,EAAEC,WAAW,GAAG,KAAK,KAAc;EAC9F,IAAIA,WAAW,EAAE;IACf,OAAO,IAAIC,QAAQ,CAACC,SAAS,EAAE;MAC7BxD,MAAM,EAAEqD,QAAQ,CAACrD,MAAM;MACvBC,UAAU,EAAEoD,QAAQ,CAACpD,UAAU;MAC/BE,OAAO,EAAEkD,QAAQ,CAAClD;KACnB,CAAC;EACJ;EACA,MAAMD,IAAI,GAAGmD,QAAQ,CAACnD,IAAI;EAC1B,QAAQA,IAAI,CAACgD,IAAI;IACf,KAAK,OAAO;MAAE;QACZ,OAAO,IAAIK,QAAQ,CAACC,SAAS,EAAE;UAC7BxD,MAAM,EAAEqD,QAAQ,CAACrD,MAAM;UACvBC,UAAU,EAAEoD,QAAQ,CAACpD,UAAU;UAC/BE,OAAO,EAAEkD,QAAQ,CAAClD;SACnB,CAAC;MACJ;IACA,KAAK,YAAY;IACjB,KAAK,KAAK;MAAE;QACV,OAAO,IAAIoD,QAAQ,CAACrD,IAAI,CAACA,IAAW,EAAE;UACpCF,MAAM,EAAEqD,QAAQ,CAACrD,MAAM;UACvBC,UAAU,EAAEoD,QAAQ,CAACpD,UAAU;UAC/BE,OAAO,EAAEkD,QAAQ,CAAClD;SACnB,CAAC;MACJ;IACA,KAAK,UAAU;MAAE;QACf,OAAO,IAAIoD,QAAQ,CAACrD,IAAI,CAACmC,QAAe,EAAE;UACxCrC,MAAM,EAAEqD,QAAQ,CAACrD,MAAM;UACvBC,UAAU,EAAEoD,QAAQ,CAACpD,UAAU;UAC/BE,OAAO,EAAEkD,QAAQ,CAAClD;SACnB,CAAC;MACJ;IACA,KAAK,QAAQ;MAAE;QACb,OAAO,IAAIoD,QAAQ,CAACjE,MAAM,CAACmE,gBAAgB,CAACvD,IAAI,CAACoC,MAAM,CAAC,EAAE;UACxDtC,MAAM,EAAEqD,QAAQ,CAACrD,MAAM;UACvBC,UAAU,EAAEoD,QAAQ,CAACpD,UAAU;UAC/BE,OAAO,EAAEkD,QAAQ,CAAClD;SACnB,CAAC;MACJ;EACF;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.31.0",
3
+ "version": "0.31.2",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/Http/App.ts CHANGED
@@ -2,14 +2,18 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as Effect from "effect/Effect"
5
+ import * as Exit from "effect/Exit"
5
6
  import * as FiberRef from "effect/FiberRef"
6
7
  import { dual } from "effect/Function"
7
8
  import { globalValue } from "effect/GlobalValue"
9
+ import * as Layer from "effect/Layer"
8
10
  import * as ReadonlyArray from "effect/ReadonlyArray"
11
+ import * as Runtime from "effect/Runtime"
12
+ import * as Scope from "effect/Scope"
9
13
  import * as internalMiddleware from "../internal/http/middleware.js"
10
14
  import type * as ServerError from "./ServerError.js"
11
- import type * as ServerRequest from "./ServerRequest.js"
12
- import type * as ServerResponse from "./ServerResponse.js"
15
+ import * as ServerRequest from "./ServerRequest.js"
16
+ import * as ServerResponse from "./ServerResponse.js"
13
17
 
14
18
  /**
15
19
  * @since 1.0.0
@@ -97,3 +101,47 @@ export const withPreResponseHandler = dual<
97
101
  currentPreResponseHandlers,
98
102
  ReadonlyArray.append(handler)
99
103
  ))
104
+
105
+ /**
106
+ * @since 1.0.0
107
+ * @category conversions
108
+ */
109
+ export const toWebHandlerRuntime = <R>(runtime: Runtime.Runtime<R>) => {
110
+ const run = Runtime.runPromise(runtime)
111
+ return <E>(self: Default<R, E>) => {
112
+ self = withDefaultMiddleware(self)
113
+ return (request: Request): Promise<Response> => {
114
+ const req = ServerRequest.fromWeb(request)
115
+ return run(Effect.map(
116
+ Effect.provideService(self, ServerRequest.ServerRequest, req),
117
+ (res) => ServerResponse.toWeb(res, req.method === "HEAD")
118
+ ))
119
+ }
120
+ }
121
+ }
122
+
123
+ /**
124
+ * @since 1.0.0
125
+ * @category conversions
126
+ */
127
+ export const toWebHandler: <E>(self: Default<never, E>) => (request: Request) => Promise<Response> =
128
+ toWebHandlerRuntime(Runtime.defaultRuntime)
129
+
130
+ /**
131
+ * @since 1.0.0
132
+ * @category conversions
133
+ */
134
+ export const toWebHandlerLayer = <R, E, RE>(
135
+ self: Default<R, E>,
136
+ layer: Layer.Layer<never, RE, R>
137
+ ): {
138
+ readonly close: () => Promise<void>
139
+ readonly handler: (request: Request) => Promise<Response>
140
+ } => {
141
+ const scope = Effect.runSync(Scope.make())
142
+ const close = () => Effect.runPromise(Scope.close(scope, Exit.unit))
143
+ const build = Effect.map(Layer.toRuntime(layer), (_) => toWebHandlerRuntime(_)(self))
144
+ const runner = Effect.runPromise(Scope.extend(build, scope))
145
+ const handler = (request: Request): Promise<Response> => runner.then((handler) => handler(request))
146
+ return { close, handler } as const
147
+ }