@effect/platform 0.11.5 → 0.12.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 (193) hide show
  1. package/FileSystem.d.ts +43 -11
  2. package/FileSystem.d.ts.map +1 -1
  3. package/FileSystem.js +33 -3
  4. package/FileSystem.js.map +1 -1
  5. package/Http/App.d.ts +18 -0
  6. package/Http/App.d.ts.map +1 -0
  7. package/Http/App.js +6 -0
  8. package/Http/App.js.map +1 -0
  9. package/Http/Body.d.ts +37 -14
  10. package/Http/Body.d.ts.map +1 -1
  11. package/Http/Body.js +17 -5
  12. package/Http/Body.js.map +1 -1
  13. package/Http/Client.d.ts +2 -2
  14. package/Http/Client.d.ts.map +1 -1
  15. package/Http/Client.js +3 -3
  16. package/Http/Client.js.map +1 -1
  17. package/Http/ClientRequest.d.ts +44 -1
  18. package/Http/ClientRequest.d.ts.map +1 -1
  19. package/Http/ClientRequest.js +21 -3
  20. package/Http/ClientRequest.js.map +1 -1
  21. package/Http/ClientResponse.d.ts +13 -1
  22. package/Http/ClientResponse.d.ts.map +1 -1
  23. package/Http/ClientResponse.js +14 -2
  24. package/Http/ClientResponse.js.map +1 -1
  25. package/Http/FormData.d.ts +97 -4
  26. package/Http/FormData.d.ts.map +1 -1
  27. package/Http/FormData.js +77 -2
  28. package/Http/FormData.js.map +1 -1
  29. package/Http/Headers.d.ts +29 -3
  30. package/Http/Headers.d.ts.map +1 -1
  31. package/Http/Headers.js +13 -1
  32. package/Http/Headers.js.map +1 -1
  33. package/Http/IncomingMessage.d.ts +26 -5
  34. package/Http/IncomingMessage.d.ts.map +1 -1
  35. package/Http/IncomingMessage.js +38 -3
  36. package/Http/IncomingMessage.js.map +1 -1
  37. package/Http/Middleware.d.ts +56 -0
  38. package/Http/Middleware.d.ts.map +1 -0
  39. package/Http/Middleware.js +46 -0
  40. package/Http/Middleware.js.map +1 -0
  41. package/Http/Router.d.ts +221 -0
  42. package/Http/Router.d.ts.map +1 -0
  43. package/Http/Router.js +148 -0
  44. package/Http/Router.js.map +1 -0
  45. package/Http/Server.d.ts +85 -0
  46. package/Http/Server.d.ts.map +1 -0
  47. package/Http/Server.js +34 -0
  48. package/Http/Server.js.map +1 -0
  49. package/Http/ServerError.d.ts +96 -0
  50. package/Http/ServerError.d.ts.map +1 -0
  51. package/Http/ServerError.js +40 -0
  52. package/Http/ServerError.js.map +1 -0
  53. package/Http/ServerRequest.d.ts +82 -0
  54. package/Http/ServerRequest.d.ts.map +1 -0
  55. package/Http/ServerRequest.js +66 -0
  56. package/Http/ServerRequest.js.map +1 -0
  57. package/Http/ServerResponse.d.ts +168 -0
  58. package/Http/ServerResponse.d.ts.map +1 -0
  59. package/Http/ServerResponse.js +116 -0
  60. package/Http/ServerResponse.js.map +1 -0
  61. package/Http/UrlParams.d.ts +20 -5
  62. package/Http/UrlParams.d.ts.map +1 -1
  63. package/Http/UrlParams.js.map +1 -1
  64. package/HttpServer.d.ts +44 -0
  65. package/HttpServer.d.ts.map +1 -0
  66. package/HttpServer.js +29 -0
  67. package/HttpServer.js.map +1 -0
  68. package/internal/fileSystem.js +33 -12
  69. package/internal/fileSystem.js.map +1 -1
  70. package/internal/http/body.js +28 -28
  71. package/internal/http/body.js.map +1 -1
  72. package/internal/http/client.d.ts.map +1 -1
  73. package/internal/http/client.js +32 -26
  74. package/internal/http/client.js.map +1 -1
  75. package/internal/http/clientRequest.js +22 -6
  76. package/internal/http/clientRequest.js.map +1 -1
  77. package/internal/http/clientResponse.js +15 -12
  78. package/internal/http/clientResponse.js.map +1 -1
  79. package/internal/http/formData.d.ts +8 -0
  80. package/internal/http/formData.d.ts.map +1 -0
  81. package/internal/http/formData.js +88 -0
  82. package/internal/http/formData.js.map +1 -0
  83. package/internal/http/middleware.d.ts +2 -0
  84. package/internal/http/middleware.d.ts.map +1 -0
  85. package/internal/http/middleware.js +43 -0
  86. package/internal/http/middleware.js.map +1 -0
  87. package/internal/http/router.d.ts +2 -0
  88. package/internal/http/router.d.ts.map +1 -0
  89. package/internal/http/router.js +187 -0
  90. package/internal/http/router.js.map +1 -0
  91. package/internal/http/server.d.ts +2 -0
  92. package/internal/http/server.d.ts.map +1 -0
  93. package/internal/http/server.js +30 -0
  94. package/internal/http/server.js.map +1 -0
  95. package/internal/http/serverError.d.ts +2 -0
  96. package/internal/http/serverError.d.ts.map +1 -0
  97. package/internal/http/serverError.js +30 -0
  98. package/internal/http/serverError.js.map +1 -0
  99. package/internal/http/serverRequest.d.ts +2 -0
  100. package/internal/http/serverRequest.d.ts.map +1 -0
  101. package/internal/http/serverRequest.js +57 -0
  102. package/internal/http/serverRequest.js.map +1 -0
  103. package/internal/http/serverResponse.d.ts +2 -0
  104. package/internal/http/serverResponse.d.ts.map +1 -0
  105. package/internal/http/serverResponse.js +109 -0
  106. package/internal/http/serverResponse.js.map +1 -0
  107. package/mjs/FileSystem.mjs +26 -1
  108. package/mjs/FileSystem.mjs.map +1 -1
  109. package/mjs/Http/App.mjs +2 -0
  110. package/mjs/Http/App.mjs.map +1 -0
  111. package/mjs/Http/Body.mjs +12 -2
  112. package/mjs/Http/Body.mjs.map +1 -1
  113. package/mjs/Http/Client.mjs +1 -1
  114. package/mjs/Http/Client.mjs.map +1 -1
  115. package/mjs/Http/ClientRequest.mjs +16 -1
  116. package/mjs/Http/ClientRequest.mjs.map +1 -1
  117. package/mjs/Http/ClientResponse.mjs +11 -1
  118. package/mjs/Http/ClientResponse.mjs.map +1 -1
  119. package/mjs/Http/FormData.mjs +62 -1
  120. package/mjs/Http/FormData.mjs.map +1 -1
  121. package/mjs/Http/Headers.mjs +10 -0
  122. package/mjs/Http/Headers.mjs.map +1 -1
  123. package/mjs/Http/IncomingMessage.mjs +32 -1
  124. package/mjs/Http/IncomingMessage.mjs.map +1 -1
  125. package/mjs/Http/Middleware.mjs +32 -0
  126. package/mjs/Http/Middleware.mjs.map +1 -0
  127. package/mjs/Http/Router.mjs +117 -0
  128. package/mjs/Http/Router.mjs.map +1 -0
  129. package/mjs/Http/Server.mjs +22 -0
  130. package/mjs/Http/Server.mjs.map +1 -0
  131. package/mjs/Http/ServerError.mjs +27 -0
  132. package/mjs/Http/ServerError.mjs.map +1 -0
  133. package/mjs/Http/ServerRequest.mjs +48 -0
  134. package/mjs/Http/ServerRequest.mjs.map +1 -0
  135. package/mjs/Http/ServerResponse.mjs +90 -0
  136. package/mjs/Http/ServerResponse.mjs.map +1 -0
  137. package/mjs/Http/UrlParams.mjs.map +1 -1
  138. package/mjs/HttpServer.mjs +24 -0
  139. package/mjs/HttpServer.mjs.map +1 -0
  140. package/mjs/internal/fileSystem.mjs +27 -11
  141. package/mjs/internal/fileSystem.mjs.map +1 -1
  142. package/mjs/internal/http/body.mjs +23 -25
  143. package/mjs/internal/http/body.mjs.map +1 -1
  144. package/mjs/internal/http/client.mjs +30 -24
  145. package/mjs/internal/http/client.mjs.map +1 -1
  146. package/mjs/internal/http/clientRequest.mjs +16 -4
  147. package/mjs/internal/http/clientRequest.mjs.map +1 -1
  148. package/mjs/internal/http/clientResponse.mjs +15 -12
  149. package/mjs/internal/http/clientResponse.mjs.map +1 -1
  150. package/mjs/internal/http/formData.mjs +67 -0
  151. package/mjs/internal/http/formData.mjs.map +1 -0
  152. package/mjs/internal/http/middleware.mjs +29 -0
  153. package/mjs/internal/http/middleware.mjs.map +1 -0
  154. package/mjs/internal/http/router.mjs +155 -0
  155. package/mjs/internal/http/router.mjs.map +1 -0
  156. package/mjs/internal/http/server.mjs +17 -0
  157. package/mjs/internal/http/server.mjs.map +1 -0
  158. package/mjs/internal/http/serverError.mjs +17 -0
  159. package/mjs/internal/http/serverError.mjs.map +1 -0
  160. package/mjs/internal/http/serverRequest.mjs +41 -0
  161. package/mjs/internal/http/serverRequest.mjs.map +1 -0
  162. package/mjs/internal/http/serverResponse.mjs +82 -0
  163. package/mjs/internal/http/serverResponse.mjs.map +1 -0
  164. package/package.json +2 -1
  165. package/src/FileSystem.ts +52 -27
  166. package/src/Http/App.ts +19 -0
  167. package/src/Http/Body.ts +41 -14
  168. package/src/Http/Client.ts +6 -3
  169. package/src/Http/ClientRequest.ts +52 -2
  170. package/src/Http/ClientResponse.ts +13 -1
  171. package/src/Http/FormData.ts +121 -5
  172. package/src/Http/Headers.ts +37 -3
  173. package/src/Http/IncomingMessage.ts +46 -3
  174. package/src/Http/Middleware.ts +69 -0
  175. package/src/Http/Router.ts +342 -0
  176. package/src/Http/Server.ts +134 -0
  177. package/src/Http/ServerError.ts +111 -0
  178. package/src/Http/ServerRequest.ts +120 -0
  179. package/src/Http/ServerResponse.ts +202 -0
  180. package/src/Http/UrlParams.ts +20 -5
  181. package/src/HttpServer.ts +44 -0
  182. package/src/internal/fileSystem.ts +28 -7
  183. package/src/internal/http/body.ts +65 -39
  184. package/src/internal/http/client.ts +45 -36
  185. package/src/internal/http/clientRequest.ts +64 -4
  186. package/src/internal/http/clientResponse.ts +21 -13
  187. package/src/internal/http/formData.ts +140 -0
  188. package/src/internal/http/middleware.ts +72 -0
  189. package/src/internal/http/router.ts +298 -0
  190. package/src/internal/http/server.ts +80 -0
  191. package/src/internal/http/serverError.ts +26 -0
  192. package/src/internal/http/serverRequest.ts +71 -0
  193. package/src/internal/http/serverResponse.ts +255 -0
@@ -1 +1 @@
1
- {"version":3,"file":"clientResponse.mjs","names":["Effect","Headers","IncomingMessage","internalError","Stream","TypeId","Symbol","for","fromWeb","request","source","ClientResponseImpl","constructor","_a","_b","status","headers","fromInput","stream","body","fromReadableStream","_","responseError","response","reason","error","fail","json","tryPromise","try","catch","text","formData","formDataStream","arrayBuffer"],"sources":["../../../src/internal/http/clientResponse.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"clientResponse.mjs","names":["Effect","Headers","IncomingMessage","UrlParams","internalError","Stream","TypeId","Symbol","for","fromWeb","request","source","ClientResponseImpl","constructor","status","headers","fromInput","stream","body","fromReadableStream","_","responseError","response","reason","error","fail","json","tryPromise","try","catch","text","urlParams","flatMap","URLSearchParams","formData","arrayBuffer"],"sources":["../../../src/internal/http/clientResponse.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,mBAAmB;AAI3C,OAAO,KAAKC,OAAO,MAAM,+BAA+B;AACxD,OAAO,KAAKC,eAAe,MAAM,uCAAuC;AACxE,OAAO,KAAKC,SAAS,MAAM,iCAAiC;AAC5D,OAAO,KAAKC,aAAa,MAAM,4CAA4C;AAC3E,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAE/C;AACA,OAAO,MAAMC,MAAM,gBAA0BC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAA0B;AAExH;AACA,OAAO,MAAMC,OAAO,GAAGA,CACrBC,OAAoC,EACpCC,MAA2B,KACO,IAAIC,kBAAkB,CAACF,OAAO,EAAEC,MAAM,CAAC;AAE3E,MAAMC,kBAAkB;EAItBC,YACmBH,OAAoC,EACpCC,MAA2B;IAD3B,KAAAD,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;IAEvB,IAAI,CAACT,eAAe,CAACI,MAAM,CAAC,GAAGJ,eAAe,CAACI,MAAM;IACrD,IAAI,CAACA,MAAM,CAAC,GAAGA,MAAM;EACvB;EAEA,IAAIQ,MAAMA,CAAA;IACR,OAAO,IAAI,CAACH,MAAM,CAACG,MAAM;EAC3B;EAEA,IAAIC,OAAOA,CAAA;IACT,OAAOd,OAAO,CAACe,SAAS,CAAC,IAAI,CAACL,MAAM,CAACI,OAAO,CAAC;EAC/C;EAEA,IAAIE,MAAMA,CAAA;IACR,OAAO,IAAI,CAACN,MAAM,CAACO,IAAI,GACnBb,MAAM,CAACc,kBAAkB,CAAC,MAAM,IAAI,CAACR,MAAM,CAACO,IAAK,EAAGE,CAAC,IACrDhB,aAAa,CAACiB,aAAa,CAAC;MAC1BX,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBY,QAAQ,EAAE,IAAI;MACdC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAEJ;KACR,CAAC,CAAC,GACHf,MAAM,CAACoB,IAAI,CAACrB,aAAa,CAACiB,aAAa,CAAC;MACxCX,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBY,QAAQ,EAAE,IAAI;MACdC,MAAM,EAAE,WAAW;MACnBC,KAAK,EAAE;KACR,CAAC,CAAC;EACP;EAEA,IAAIE,IAAIA,CAAA;IACN,OAAO1B,MAAM,CAAC2B,UAAU,CAAC;MACvBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACjB,MAAM,CAACe,IAAI,EAAE;MAC7BG,KAAK,EAAGT,CAAC,IACPhB,aAAa,CAACiB,aAAa,CAAC;QAC1BX,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBY,QAAQ,EAAE,IAAI;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAEJ;OACR;KACJ,CAAC;EACJ;EAEA,IAAIU,IAAIA,CAAA;IACN,OAAO9B,MAAM,CAAC2B,UAAU,CAAC;MACvBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACjB,MAAM,CAACmB,IAAI,EAAE;MAC7BD,KAAK,EAAGT,CAAC,IACPhB,aAAa,CAACiB,aAAa,CAAC;QAC1BX,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBY,QAAQ,EAAE,IAAI;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAEJ;OACR;KACJ,CAAC;EACJ;EAEA,IAAIW,SAASA,CAAA;IACX,OAAO/B,MAAM,CAACgC,OAAO,CAAC,IAAI,CAACF,IAAI,EAAGV,CAAC,IACjCpB,MAAM,CAAC4B,GAAG,CAAC;MACTA,GAAG,EAAEA,CAAA,KAAMzB,SAAS,CAACa,SAAS,CAAC,IAAIiB,eAAe,CAACb,CAAC,CAAC,CAAC;MACtDS,KAAK,EAAGT,CAAC,IACPhB,aAAa,CAACiB,aAAa,CAAC;QAC1BX,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBY,QAAQ,EAAE,IAAI;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAEJ;OACR;KACJ,CAAC,CAAC;EACP;EAEA,IAAIc,QAAQA,CAAA;IACV,OAAOlC,MAAM,CAAC2B,UAAU,CAAC;MACvBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACjB,MAAM,CAACuB,QAAQ,EAAE;MACjCL,KAAK,EAAGT,CAAC,IACPhB,aAAa,CAACiB,aAAa,CAAC;QAC1BX,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBY,QAAQ,EAAE,IAAI;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAEJ;OACR;KACJ,CAAC;EACJ;EAEA,IAAIe,WAAWA,CAAA;IACb,OAAOnC,MAAM,CAAC2B,UAAU,CAAC;MACvBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACjB,MAAM,CAACwB,WAAW,EAAE;MACpCN,KAAK,EAAGT,CAAC,IACPhB,aAAa,CAACiB,aAAa,CAAC;QAC1BX,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBY,QAAQ,EAAE,IAAI;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAEJ;OACR;KACJ,CAAC;EACJ;;AApGUlB,eAAe,CAACI,MAAM"}
@@ -0,0 +1,67 @@
1
+ import * as Chunk from "@effect/data/Chunk";
2
+ import * as Data from "@effect/data/Data";
3
+ import { dual } from "@effect/data/Function";
4
+ import { globalValue } from "@effect/data/Global";
5
+ import * as Option from "@effect/data/Option";
6
+ import * as Predicate from "@effect/data/Predicate";
7
+ import * as ReadonlyArray from "@effect/data/ReadonlyArray";
8
+ import * as Effect from "@effect/io/Effect";
9
+ import * as FiberRef from "@effect/io/FiberRef";
10
+ import * as FileSystem from "@effect/platform/FileSystem";
11
+ import * as Schema from "@effect/schema/Schema";
12
+ /** @internal */
13
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/FormData");
14
+ /** @internal */
15
+ export const ErrorTypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/FormData/FormDataError");
16
+ /** @internal */
17
+ export const FormDataError = (reason, error) => Data.struct({
18
+ [ErrorTypeId]: ErrorTypeId,
19
+ _tag: "FormDataError",
20
+ reason,
21
+ error
22
+ });
23
+ /** @internal */
24
+ export const maxFieldSize = /*#__PURE__*/globalValue("@effect/platform/Http/FormData/maxFieldSize", () => FiberRef.unsafeMake(FileSystem.Size(1024 * 1024)));
25
+ /** @internal */
26
+ export const withMaxFieldSize = /*#__PURE__*/dual(2, (effect, size) => Effect.locally(effect, maxFieldSize, FileSystem.Size(size)));
27
+ /** @internal */
28
+ export const maxFileSize = /*#__PURE__*/globalValue("@effect/platform/Http/FormData/maxFileSize", () => FiberRef.unsafeMake(Option.none()));
29
+ /** @internal */
30
+ export const withMaxFileSize = /*#__PURE__*/dual(2, (effect, size) => Effect.locally(effect, maxFileSize, Option.map(size, FileSystem.Size)));
31
+ /** @internal */
32
+ export const fieldMimeTypes = /*#__PURE__*/globalValue("@effect/platform/Http/FormData/fieldMimeTypes", () => FiberRef.unsafeMake(Chunk.make("application/json")));
33
+ /**
34
+ * @since 1.0.0
35
+ * @category fiber refs
36
+ */
37
+ export const withFieldMimeTypes = /*#__PURE__*/dual(2, (effect, mimeTypes) => Effect.locally(effect, fieldMimeTypes, Chunk.fromIterable(mimeTypes)));
38
+ /** @internal */
39
+ export const toRecord = formData => ReadonlyArray.reduce(formData.entries(), {}, (acc, [key, value]) => {
40
+ if (Predicate.isString(value)) {
41
+ acc[key] = value;
42
+ } else {
43
+ const existing = acc[key];
44
+ if (Array.isArray(existing)) {
45
+ existing.push(value);
46
+ } else {
47
+ acc[key] = [value];
48
+ }
49
+ }
50
+ return acc;
51
+ });
52
+ /** @internal */
53
+ export const filesSchema = /*#__PURE__*/Schema.array( /*#__PURE__*/Schema.filter(blob => "name" in blob)( /*#__PURE__*/Schema.instanceOf(Blob)));
54
+ /** @internal */
55
+ export const schemaRecord = schema => {
56
+ const parse = Schema.parse(schema);
57
+ return formData => parse(toRecord(formData));
58
+ };
59
+ /** @internal */
60
+ export const schemaJson = schema => {
61
+ const parse = Schema.parse(schema);
62
+ return dual(2, (formData, field) => Effect.flatMap(parse)(Effect.tryMap({
63
+ try: field => JSON.parse(field),
64
+ catch: error => FormDataError("Parse", `schemaJson: field was not valid json: ${error}`)
65
+ })(Effect.filterOrFail(field => Predicate.isString(field), () => FormDataError("Parse", `schemaJson: field was not a string`))(Effect.succeed(formData.get(field))))));
66
+ };
67
+ //# sourceMappingURL=formData.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formData.mjs","names":["Chunk","Data","dual","globalValue","Option","Predicate","ReadonlyArray","Effect","FiberRef","FileSystem","Schema","TypeId","Symbol","for","ErrorTypeId","FormDataError","reason","error","struct","_tag","maxFieldSize","unsafeMake","Size","withMaxFieldSize","effect","size","locally","maxFileSize","none","withMaxFileSize","map","fieldMimeTypes","make","withFieldMimeTypes","mimeTypes","fromIterable","toRecord","formData","reduce","entries","acc","key","value","isString","existing","Array","isArray","push","filesSchema","array","filter","blob","instanceOf","Blob","schemaRecord","schema","parse","schemaJson","field","flatMap","tryMap","try","JSON","catch","filterOrFail","succeed","get"],"sources":["../../../src/internal/http/formData.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { dual } from "@effect/data/Function";
2
+ import * as Effect from "@effect/io/Effect";
3
+ import * as Headers from "@effect/platform/Http/Headers";
4
+ import * as ServerRequest from "@effect/platform/Http/ServerRequest";
5
+ /** @internal */
6
+ export const make = middleware => middleware;
7
+ /** @internal */
8
+ export const logger = /*#__PURE__*/make(httpApp => Effect.withLogSpan(Effect.onExit(httpApp, exit => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.annotateLogs(Effect.log("", exit._tag === "Failure" ? exit.cause : undefined), {
9
+ "http.method": request.method,
10
+ "http.url": request.url,
11
+ "http.status": exit._tag === "Success" ? exit.value.status : 500
12
+ }))), "http.span"));
13
+ /** @internal */
14
+ export const tracer = /*#__PURE__*/make(httpApp => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.withSpan(Effect.tap(httpApp, response => Effect.annotateCurrentSpan("http.status", response.status)), `http ${request.method}`, {
15
+ attributes: {
16
+ "http.method": request.method,
17
+ "http.url": request.url
18
+ }
19
+ })));
20
+ /** @internal */
21
+ export const xForwardedHeaders = /*#__PURE__*/make(httpApp => Effect.flatMap(ServerRequest.ServerRequest, request => {
22
+ const forwardedHost = Headers.get(request.headers, "x-forwarded-host");
23
+ return forwardedHost._tag === "Some" ? Effect.updateService(httpApp, ServerRequest.ServerRequest, _ => _.replaceHeaders(Headers.set(request.headers, "host", forwardedHost.value))) : httpApp;
24
+ }));
25
+ /** @internal */
26
+ export const compose = /*#__PURE__*/dual(2, (self, that) => inApp => that(self(inApp)));
27
+ /** @internal */
28
+ export const loggerTracer = /*#__PURE__*/compose(tracer, logger);
29
+ //# sourceMappingURL=middleware.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.mjs","names":["dual","Effect","Headers","ServerRequest","make","middleware","logger","httpApp","withLogSpan","onExit","exit","flatMap","request","annotateLogs","log","_tag","cause","undefined","method","url","value","status","tracer","withSpan","tap","response","annotateCurrentSpan","attributes","xForwardedHeaders","forwardedHost","get","headers","updateService","_","replaceHeaders","set","compose","self","that","inApp","loggerTracer"],"sources":["../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAI,QAAQ,uBAAuB;AAC5C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAE3C,OAAO,KAAKC,OAAO,MAAM,+BAA+B;AAExD,OAAO,KAAKC,aAAa,MAAM,qCAAqC;AAEpE;AACA,OAAO,MAAMC,IAAI,GAAqCC,UAAa,IAAQA,UAAU;AAErF;AACA,OAAO,MAAMC,MAAM,gBAAGF,IAAI,CAAEG,OAAO,IACjCN,MAAM,CAACO,WAAW,CAChBP,MAAM,CAACQ,MAAM,CACXF,OAAO,EACNG,IAAI,IACHT,MAAM,CAACU,OAAO,CACZR,aAAa,CAACA,aAAa,EAC1BS,OAAO,IACNX,MAAM,CAACY,YAAY,CAACZ,MAAM,CAACa,GAAG,CAAC,EAAE,EAAEJ,IAAI,CAACK,IAAI,KAAK,SAAS,GAAGL,IAAI,CAACM,KAAK,GAAGC,SAAS,CAAC,EAAE;EACpF,aAAa,EAAEL,OAAO,CAACM,MAAM;EAC7B,UAAU,EAAEN,OAAO,CAACO,GAAG;EACvB,aAAa,EAAET,IAAI,CAACK,IAAI,KAAK,SAAS,GAAGL,IAAI,CAACU,KAAK,CAACC,MAAM,GAAG;CAC9D,CAAC,CACL,CACJ,EACD,WAAW,CACZ,CACF;AAED;AACA,OAAO,MAAMC,MAAM,gBAAGlB,IAAI,CAAEG,OAAO,IACjCN,MAAM,CAACU,OAAO,CACZR,aAAa,CAACA,aAAa,EAC1BS,OAAO,IACNX,MAAM,CAACsB,QAAQ,CACbtB,MAAM,CAACuB,GAAG,CACRjB,OAAO,EACNkB,QAAQ,IAAKxB,MAAM,CAACyB,mBAAmB,CAAC,aAAa,EAAED,QAAQ,CAACJ,MAAM,CAAC,CACzE,EACD,QAAQT,OAAO,CAACM,MAAM,EAAE,EACxB;EAAES,UAAU,EAAE;IAAE,aAAa,EAAEf,OAAO,CAACM,MAAM;IAAE,UAAU,EAAEN,OAAO,CAACO;EAAG;AAAE,CAAE,CAC3E,CACJ,CACF;AAED;AACA,OAAO,MAAMS,iBAAiB,gBAAGxB,IAAI,CAAEG,OAAO,IAC5CN,MAAM,CAACU,OAAO,CAACR,aAAa,CAACA,aAAa,EAAGS,OAAO,IAAI;EACtD,MAAMiB,aAAa,GAAG3B,OAAO,CAAC4B,GAAG,CAAClB,OAAO,CAACmB,OAAO,EAAE,kBAAkB,CAAC;EACtE,OAAOF,aAAa,CAACd,IAAI,KAAK,MAAM,GAChCd,MAAM,CAAC+B,aAAa,CAACzB,OAAO,EAAEJ,aAAa,CAACA,aAAa,EAAG8B,CAAC,IAC7DA,CAAC,CAACC,cAAc,CAAChC,OAAO,CAACiC,GAAG,CAACvB,OAAO,CAACmB,OAAO,EAAE,MAAM,EAAEF,aAAa,CAACT,KAAK,CAAC,CAAC,CAAC,GAC5Eb,OAAO;AACb,CAAC,CAAC,CACH;AAED;AACA,OAAO,MAAM6B,OAAO,gBAAGpC,IAAI,CAUzB,CAAC,EAAE,CAACqC,IAAI,EAAEC,IAAI,KAAMC,KAAK,IAAKD,IAAI,CAACD,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;AAElD;AACA,OAAO,MAAMC,YAAY,gBAAGJ,OAAO,CAACd,MAAM,EAAEhB,MAAM,CAAC"}
@@ -0,0 +1,155 @@
1
+ import * as Chunk from "@effect/data/Chunk";
2
+ import * as Context from "@effect/data/Context";
3
+ import * as Equal from "@effect/data/Equal";
4
+ import { dual } from "@effect/data/Function";
5
+ import * as Hash from "@effect/data/Hash";
6
+ import * as Option from "@effect/data/Option";
7
+ import { pipeArguments } from "@effect/data/Pipeable";
8
+ import * as Effect from "@effect/io/Effect";
9
+ import * as Error from "@effect/platform/Http/ServerError";
10
+ import * as ServerRequest from "@effect/platform/Http/ServerRequest";
11
+ import * as Schema from "@effect/schema/Schema";
12
+ import * as Channel from "@effect/stream/Channel";
13
+ import * as Sink from "@effect/stream/Sink";
14
+ import * as Stream from "@effect/stream/Stream";
15
+ import FindMyWay from "find-my-way";
16
+ /** @internal */
17
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Router");
18
+ /** @internal */
19
+ export const RouteTypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Router/Route");
20
+ /** @internal */
21
+ export const RouteContextTypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Router/RouteContext");
22
+ /** @internal */
23
+ export const RouteContext = /*#__PURE__*/Context.Tag("@effect/platform/Http/Router/RouteContext");
24
+ /** @internal */
25
+ export const params = /*#__PURE__*/Effect.map(RouteContext, _ => _.params);
26
+ /** @internal */
27
+ export const searchParams = /*#__PURE__*/Effect.map(RouteContext, _ => _.searchParams);
28
+ /** @internal */
29
+ export const schemaParams = schema => {
30
+ const parse = Schema.parse(schema);
31
+ return Effect.flatMap(RouteContext, _ => parse({
32
+ ..._.searchParams,
33
+ ..._.params
34
+ }));
35
+ };
36
+ class RouterImpl {
37
+ constructor(routes, mounts) {
38
+ this.routes = routes;
39
+ this.mounts = mounts;
40
+ // implements HttpApp/Effect
41
+ this._tag = "Commit"; // OP_COMMIT
42
+ this[TypeId] = TypeId;
43
+ this[Effect.EffectTypeId] = undefined;
44
+ this[Stream.StreamTypeId] = undefined;
45
+ this[Sink.SinkTypeId] = undefined;
46
+ this[Channel.ChannelTypeId] = undefined;
47
+ }
48
+ pipe() {
49
+ return pipeArguments(this, arguments);
50
+ }
51
+ commit() {
52
+ if (this.httpApp === undefined) {
53
+ this.httpApp = toHttpApp(this);
54
+ }
55
+ return this.httpApp;
56
+ }
57
+ [(Effect.EffectTypeId, Stream.StreamTypeId, Sink.SinkTypeId, Channel.ChannelTypeId, Equal.symbol)](that) {
58
+ return this === that;
59
+ }
60
+ [Hash.symbol]() {
61
+ return Hash.random(this);
62
+ }
63
+ }
64
+ const toHttpApp = self => {
65
+ const router = FindMyWay();
66
+ Chunk.forEach(self.mounts, ([path, app]) => {
67
+ const fn = () => {};
68
+ fn.handler = Effect.updateService(app, ServerRequest.ServerRequest, request => sliceRequestUrl(request, path));
69
+ router.all(path, fn);
70
+ router.all(path + "/*", fn);
71
+ });
72
+ Chunk.forEach(self.routes, route => {
73
+ const fn = () => {};
74
+ fn.handler = route;
75
+ if (route.method === "*") {
76
+ router.all(route.path, fn);
77
+ } else {
78
+ router.on(route.method, route.path, fn);
79
+ }
80
+ });
81
+ return Effect.flatMap(ServerRequest.ServerRequest, request => {
82
+ const result = router.find(request.method, request.url);
83
+ if (result === null) {
84
+ return Effect.fail(Error.RouteNotFound({
85
+ request
86
+ }));
87
+ }
88
+ const handler = result.handler.handler;
89
+ if (RouteTypeId in handler) {
90
+ const route = handler;
91
+ if (route.prefix._tag === "Some") {
92
+ request = sliceRequestUrl(request, route.prefix.value);
93
+ }
94
+ return Effect.mapInputContext(route.handler, context => Context.add(Context.add(context, ServerRequest.ServerRequest, request), RouteContext, new RouteContextImpl(result.params, result.searchParams)));
95
+ }
96
+ return handler;
97
+ });
98
+ };
99
+ function sliceRequestUrl(request, prefix) {
100
+ const prefexLen = prefix.length;
101
+ return request.setUrl(request.url.length <= prefexLen ? "/" : request.url.slice(prefexLen));
102
+ }
103
+ class RouteImpl {
104
+ constructor(method, path, handler, prefix = Option.none()) {
105
+ this.method = method;
106
+ this.path = path;
107
+ this.handler = handler;
108
+ this.prefix = prefix;
109
+ this[RouteTypeId] = RouteTypeId;
110
+ }
111
+ }
112
+ class RouteContextImpl {
113
+ constructor(params, searchParams) {
114
+ this.params = params;
115
+ this.searchParams = searchParams;
116
+ this[RouteContextTypeId] = RouteContextTypeId;
117
+ }
118
+ }
119
+ /** @internal */
120
+ export const empty = /*#__PURE__*/new RouterImpl( /*#__PURE__*/Chunk.empty(), /*#__PURE__*/Chunk.empty());
121
+ /** @internal */
122
+ export const fromIterable = routes => new RouterImpl(Chunk.fromIterable(routes), Chunk.empty());
123
+ /** @internal */
124
+ export const makeRoute = (method, path, handler, prefix = Option.none()) => new RouteImpl(method, path, handler, prefix);
125
+ /** @internal */
126
+ export const concat = /*#__PURE__*/dual(2, (self, that) => new RouterImpl(Chunk.appendAll(self.routes, that.routes), self.mounts));
127
+ const removeTrailingSlash = path => path.endsWith("/") ? path.slice(0, -1) : path;
128
+ /** @internal */
129
+ export const prefixAll = /*#__PURE__*/dual(2, (self, prefix) => {
130
+ prefix = removeTrailingSlash(prefix);
131
+ return new RouterImpl(Chunk.map(self.routes, route => new RouteImpl(route.method, route.path === "/" ? prefix : prefix + route.path, route.handler, Option.orElse(Option.map(route.prefix, _ => prefix + _), () => Option.some(prefix)))), Chunk.map(self.mounts, ([path, app]) => [path === "/" ? prefix : prefix + path, app]));
132
+ });
133
+ /** @internal */
134
+ export const mount = /*#__PURE__*/dual(3, (self, path, that) => concat(self, prefixAll(that, path)));
135
+ /** @internal */
136
+ export const mountApp = /*#__PURE__*/dual(3, (self, path, that) => new RouterImpl(self.routes, Chunk.append(self.mounts, [removeTrailingSlash(path), that])));
137
+ /** @internal */
138
+ export const route = method => dual(3, (self, path, handler) => new RouterImpl(Chunk.append(self.routes, new RouteImpl(method, path, handler)), self.mounts));
139
+ /** @internal */
140
+ export const all = /*#__PURE__*/route("*");
141
+ /** @internal */
142
+ export const get = /*#__PURE__*/route("GET");
143
+ /** @internal */
144
+ export const post = /*#__PURE__*/route("POST");
145
+ /** @internal */
146
+ export const put = /*#__PURE__*/route("PUT");
147
+ /** @internal */
148
+ export const patch = /*#__PURE__*/route("PATCH");
149
+ /** @internal */
150
+ export const del = /*#__PURE__*/route("DELETE");
151
+ /** @internal */
152
+ export const head = /*#__PURE__*/route("HEAD");
153
+ /** @internal */
154
+ export const options = /*#__PURE__*/route("OPTIONS");
155
+ //# sourceMappingURL=router.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.mjs","names":["Chunk","Context","Equal","dual","Hash","Option","pipeArguments","Effect","Error","ServerRequest","Schema","Channel","Sink","Stream","FindMyWay","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","Tag","params","map","_","searchParams","schemaParams","schema","parse","flatMap","RouterImpl","constructor","routes","mounts","_tag","EffectTypeId","undefined","StreamTypeId","SinkTypeId","ChannelTypeId","pipe","arguments","commit","httpApp","toHttpApp","symbol","that","random","self","router","forEach","path","app","fn","handler","updateService","request","sliceRequestUrl","all","route","method","on","result","find","url","fail","RouteNotFound","prefix","value","mapInputContext","context","add","RouteContextImpl","prefexLen","length","setUrl","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","get","post","put","patch","del","head","options"],"sources":["../../../src/internal/http/router.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import * as Context from "@effect/data/Context";
2
+ import { dual } from "@effect/data/Function";
3
+ import * as Effect from "@effect/io/Effect";
4
+ /** @internal */
5
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Server");
6
+ /** @internal */
7
+ export const serverTag = /*#__PURE__*/Context.Tag("@effect/platform/Http/Server");
8
+ const serverProto = {
9
+ [TypeId]: TypeId
10
+ };
11
+ /** @internal */
12
+ export const isServer = u => typeof u === "object" && u !== null && TypeId in u;
13
+ /** @internal */
14
+ export const make = options => Object.assign(Object.create(serverProto), options);
15
+ /** @internal */
16
+ export const serve = /*#__PURE__*/dual(args => Effect.isEffect(args[0]), (httpApp, middleware) => Effect.flatMap(serverTag, server => server.serve(httpApp, middleware)));
17
+ //# sourceMappingURL=server.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.mjs","names":["Context","dual","Effect","TypeId","Symbol","for","serverTag","Tag","serverProto","isServer","u","make","options","Object","assign","create","serve","args","isEffect","httpApp","middleware","flatMap","server"],"sources":["../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,OAAO,MAAM,sBAAsB;AAC/C,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAQ3C;AACA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAkB;AAEhG;AACA,OAAO,MAAMC,SAAS,gBAAGN,OAAO,CAACO,GAAG,CAAgB,8BAA8B,CAAC;AAEnF,MAAMC,WAAW,GAAG;EAClB,CAACL,MAAM,GAAGA;CACX;AAED;AACA,OAAO,MAAMM,QAAQ,GAAIC,CAAU,IAAyB,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,KAAK,IAAI,IAAIP,MAAM,IAAIO,CAAC;AAE9G;AACA,OAAO,MAAMC,IAAI,GACfC,OAMC,IACiBC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACP,WAAW,CAAC,EAAEI,OAAO,CAAC;AAEtE;AACA,OAAO,MAAMI,KAAK,gBAAGf,IAAI,CA+BtBgB,IAAI,IAAKf,MAAM,CAACgB,QAAQ,CAACD,IAAI,CAAC,CAAC,CAAC,CAAC,EACjC,CACCE,OAA0B,EAC1BC,UAAoD,KAMpDlB,MAAM,CAACmB,OAAO,CACZf,SAAS,EACRgB,MAAM,IAAKA,MAAM,CAACN,KAAK,CAACG,OAAO,EAAEC,UAAU,CAAC,CACtC,CACZ"}
@@ -0,0 +1,17 @@
1
+ import * as Data from "@effect/data/Data";
2
+ /** @internal */
3
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Error");
4
+ const make = tag => props => Data.struct({
5
+ [TypeId]: TypeId,
6
+ _tag: tag,
7
+ ...props
8
+ });
9
+ /** @internal */
10
+ export const requestError = /*#__PURE__*/make("RequestError");
11
+ /** @internal */
12
+ export const responseError = /*#__PURE__*/make("ResponseError");
13
+ /** @internal */
14
+ export const routeNotFound = /*#__PURE__*/make("RouteNotFound");
15
+ /** @internal */
16
+ export const serveError = /*#__PURE__*/make("ServeError");
17
+ //# sourceMappingURL=serverError.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverError.mjs","names":["Data","TypeId","Symbol","for","make","tag","props","struct","_tag","requestError","responseError","routeNotFound","serveError"],"sources":["../../../src/internal/http/serverError.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,IAAI,MAAM,mBAAmB;AAGzC;AACA,OAAO,MAAMC,MAAM,gBAAiBC,MAAM,CAACC,GAAG,CAC5C,6BAA6B,CACd;AAEjB,MAAMC,IAAI,GAAqCC,GAAc,IAAMC,KAA8C,IAC/GN,IAAI,CAACO,MAAM,CAAC;EACV,CAACN,MAAM,GAAGA,MAAM;EAChBO,IAAI,EAAEH,GAAG;EACT,GAAGC;CACC,CAAC;AAET;AACA,OAAO,MAAMG,YAAY,gBAAGL,IAAI,CAAqB,cAAc,CAAC;AAEpE;AACA,OAAO,MAAMM,aAAa,gBAAGN,IAAI,CAAsB,eAAe,CAAC;AAEvE;AACA,OAAO,MAAMO,aAAa,gBAAGP,IAAI,CAAsB,eAAe,CAAC;AAEvE;AACA,OAAO,MAAMQ,UAAU,gBAAGR,IAAI,CAAmB,YAAY,CAAC"}
@@ -0,0 +1,41 @@
1
+ import * as Context from "@effect/data/Context";
2
+ import * as Effect from "@effect/io/Effect";
3
+ import * as FormData from "@effect/platform/Http/FormData";
4
+ import * as IncomingMessage from "@effect/platform/Http/IncomingMessage";
5
+ import * as Error from "@effect/platform/Http/ServerError";
6
+ /** @internal */
7
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ServerRequest");
8
+ /** @internal */
9
+ export const serverRequestTag = /*#__PURE__*/Context.Tag(TypeId);
10
+ /** @internal */
11
+ export const formDataRecord = /*#__PURE__*/Effect.map( /*#__PURE__*/Effect.flatMap(serverRequestTag, request => request.formData), FormData.toRecord);
12
+ /** @internal */
13
+ export const schemaHeaders = schema => {
14
+ const parse = IncomingMessage.schemaHeaders(schema);
15
+ return Effect.flatMap(serverRequestTag, parse);
16
+ };
17
+ /** @internal */
18
+ export const schemaBodyJson = schema => {
19
+ const parse = IncomingMessage.schemaBodyJson(schema);
20
+ return Effect.flatMap(serverRequestTag, parse);
21
+ };
22
+ /** @internal */
23
+ export const schemaBodyUrlParams = schema => {
24
+ const parse = IncomingMessage.schemaBodyUrlParams(schema);
25
+ return Effect.flatMap(serverRequestTag, parse);
26
+ };
27
+ /** @internal */
28
+ export const schemaFormData = schema => {
29
+ const parse = FormData.schemaRecord(schema);
30
+ return Effect.flatMap(Effect.flatMap(serverRequestTag, request => request.formData), parse);
31
+ };
32
+ /** @internal */
33
+ export const schemaFormDataJson = schema => {
34
+ const parse = FormData.schemaJson(schema);
35
+ return field => Effect.flatMap(serverRequestTag, request => Effect.flatMap(request.formData, formData => Effect.catchTag(parse(formData, field), "FormDataError", error => Effect.fail(Error.RequestError({
36
+ reason: "Decode",
37
+ request,
38
+ error: error.error
39
+ })))));
40
+ };
41
+ //# sourceMappingURL=serverRequest.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverRequest.mjs","names":["Context","Effect","FormData","IncomingMessage","Error","TypeId","Symbol","for","serverRequestTag","Tag","formDataRecord","map","flatMap","request","formData","toRecord","schemaHeaders","schema","parse","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaRecord","schemaFormDataJson","schemaJson","field","catchTag","error","fail","RequestError","reason"],"sources":["../../../src/internal/http/serverRequest.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,OAAO,MAAM,sBAAsB;AAC/C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,gCAAgC;AAC1D,OAAO,KAAKC,eAAe,MAAM,uCAAuC;AACxE,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAI1D;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,cAAc,gBAAGT,MAAM,CAACU,GAAG,eACtCV,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAGK,OAAO,IAAKA,OAAO,CAACC,QAAQ,CAAC,EAC/DZ,QAAQ,CAACa,QAAQ,CAClB;AAED;AACA,OAAO,MAAMC,aAAa,GAAmDC,MAA2B,IAAI;EAC1G,MAAMC,KAAK,GAAGf,eAAe,CAACa,aAAa,CAACC,MAAM,CAAC;EACnD,OAAOhB,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAEU,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAMC,cAAc,GAAUF,MAA2B,IAAI;EAClE,MAAMC,KAAK,GAAGf,eAAe,CAACgB,cAAc,CAACF,MAAM,CAAC;EACpD,OAAOhB,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAEU,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAME,mBAAmB,GAAmDH,MAA2B,IAAI;EAChH,MAAMC,KAAK,GAAGf,eAAe,CAACiB,mBAAmB,CAACH,MAAM,CAAC;EACzD,OAAOhB,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAEU,KAAK,CAAC;AAChD,CAAC;AAED;AACA,OAAO,MAAMG,cAAc,GACzBJ,MAA2B,IACzB;EACF,MAAMC,KAAK,GAAGhB,QAAQ,CAACoB,YAAY,CAACL,MAAM,CAAC;EAC3C,OAAOhB,MAAM,CAACW,OAAO,CACnBX,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAGK,OAAO,IAAKA,OAAO,CAACC,QAAQ,CAAC,EAC/DI,KAAK,CACN;AACH,CAAC;AAED;AACA,OAAO,MAAMK,kBAAkB,GAAUN,MAA2B,IAAI;EACtE,MAAMC,KAAK,GAAGhB,QAAQ,CAACsB,UAAU,CAACP,MAAM,CAAC;EACzC,OAAQQ,KAAa,IACnBxB,MAAM,CAACW,OAAO,CAACJ,gBAAgB,EAAGK,OAAO,IACvCZ,MAAM,CAACW,OAAO,CACZC,OAAO,CAACC,QAAQ,EACfA,QAAQ,IACPb,MAAM,CAACyB,QAAQ,CACbR,KAAK,CAACJ,QAAQ,EAAEW,KAAK,CAAC,EACtB,eAAe,EACdE,KAAK,IACJ1B,MAAM,CAAC2B,IAAI,CACTxB,KAAK,CAACyB,YAAY,CAAC;IACjBC,MAAM,EAAE,QAAQ;IAChBjB,OAAO;IACPc,KAAK,EAAEA,KAAK,CAACA;GACd,CAAC,CACH,CACJ,CACJ,CAAC;AACR,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { dual } from "@effect/data/Function";
2
+ import { pipeArguments } from "@effect/data/Pipeable";
3
+ import * as Effect from "@effect/io/Effect";
4
+ import * as Headers from "@effect/platform/Http/Headers";
5
+ import * as ServerRequest from "@effect/platform/Http/ServerRequest";
6
+ import * as UrlParams from "@effect/platform/Http/UrlParams";
7
+ import * as internalBody from "@effect/platform/internal/http/body";
8
+ import * as internalError from "@effect/platform/internal/http/serverError";
9
+ /** @internal */
10
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ServerResponse");
11
+ class ServerResponseImpl {
12
+ constructor(status, statusText, headers, body) {
13
+ this.status = status;
14
+ this.statusText = statusText;
15
+ this.headers = headers;
16
+ this.body = body;
17
+ this[TypeId] = TypeId;
18
+ }
19
+ pipe() {
20
+ return pipeArguments(this, arguments);
21
+ }
22
+ }
23
+ /** @internal */
24
+ export const isServerResponse = u => typeof u === "object" && u !== null && TypeId in u;
25
+ /** @internal */
26
+ export const toNonEffectBody = self => self.body._tag === "Effect" ? Effect.map(Effect.catchAll(self.body.effect, error => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.fail(internalError.responseError({
27
+ reason: "Decode",
28
+ request,
29
+ response: self,
30
+ error
31
+ })))), body => setBody(self, body)) : Effect.succeed(self);
32
+ /** @internal */
33
+ export const empty = options => new ServerResponseImpl(options?.status ?? 204, options?.statusText, options?.headers ?? Headers.empty, internalBody.empty);
34
+ /** @internal */
35
+ export const uint8Array = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.uint8Array(body, options?.contentType));
36
+ /** @internal */
37
+ export const text = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.text(body, options?.contentType));
38
+ /** @internal */
39
+ export const json = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.json(body));
40
+ /** @internal */
41
+ export const unsafeJson = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.unsafeJson(body));
42
+ /** @internal */
43
+ export const schemaJson = schema => {
44
+ const encode = internalBody.jsonSchema(schema);
45
+ return (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, encode(body));
46
+ };
47
+ /** @internal */
48
+ export const file = (path, options) => Effect.map(internalBody.file(path, options), body => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, body));
49
+ /** @internal */
50
+ export const urlParams = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.text(UrlParams.toString(UrlParams.fromInput(body)), "application/x-www-form-urlencoded"));
51
+ /** @internal */
52
+ export const effect = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.effect(body));
53
+ /** @internal */
54
+ export const raw = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.raw(body));
55
+ /** @internal */
56
+ export const formData = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.formData(body));
57
+ /** @internal */
58
+ export const stream = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.stream(body, options?.contentType, options?.contentLength));
59
+ /** @internal */
60
+ export const setHeader = /*#__PURE__*/dual(3, (self, key, value) => new ServerResponseImpl(self.status, self.statusText, Headers.set(self.headers, key, value), self.body));
61
+ /** @internal */
62
+ export const setHeaders = /*#__PURE__*/dual(2, (self, input) => new ServerResponseImpl(self.status, self.statusText, Headers.setAll(self.headers, input), self.body));
63
+ /** @internal */
64
+ export const setStatus = /*#__PURE__*/dual(args => isServerResponse(args[0]), (self, status, statusText) => new ServerResponseImpl(status, statusText, self.headers, self.body));
65
+ /** @internal */
66
+ export const setBody = /*#__PURE__*/dual(2, (self, body) => {
67
+ let headers = self.headers;
68
+ if (body._tag === "Empty") {
69
+ headers = Headers.remove(Headers.remove(headers, "Content-Type"), "Content-length");
70
+ } else {
71
+ const contentType = body.contentType;
72
+ if (contentType) {
73
+ headers = Headers.set(headers, "content-type", contentType);
74
+ }
75
+ const contentLength = body.contentLength;
76
+ if (contentLength) {
77
+ headers = Headers.set(headers, "content-length", contentLength.toString());
78
+ }
79
+ }
80
+ return new ServerResponseImpl(self.status, self.statusText, headers, body);
81
+ });
82
+ //# sourceMappingURL=serverResponse.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverResponse.mjs","names":["dual","pipeArguments","Effect","Headers","ServerRequest","UrlParams","internalBody","internalError","TypeId","Symbol","for","ServerResponseImpl","constructor","status","statusText","headers","body","pipe","arguments","isServerResponse","u","toNonEffectBody","self","_tag","map","catchAll","effect","error","flatMap","request","fail","responseError","reason","response","setBody","succeed","empty","options","uint8Array","contentType","text","json","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","urlParams","toString","fromInput","raw","formData","stream","contentLength","setHeader","key","value","set","setHeaders","input","setAll","setStatus","args","remove"],"sources":["../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.11.5",
3
+ "version": "0.12.1",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -25,6 +25,7 @@
25
25
  "sideEffects": [],
26
26
  "author": "Effect contributors",
27
27
  "dependencies": {
28
+ "find-my-way": "^7.6.2",
28
29
  "path-browserify": "^1.0.1"
29
30
  },
30
31
  "peerDependencies": {