@effect/platform 0.16.0 → 0.17.0

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 (106) hide show
  1. package/Command.js +17 -34
  2. package/Command.js.map +1 -1
  3. package/CommandExecutor.js +5 -10
  4. package/CommandExecutor.js.map +1 -1
  5. package/Effectify.js +1 -2
  6. package/Effectify.js.map +1 -1
  7. package/Error.js +3 -6
  8. package/Error.js.map +1 -1
  9. package/FileSystem.js +10 -20
  10. package/FileSystem.js.map +1 -1
  11. package/Http/Body.js +15 -30
  12. package/Http/Body.js.map +1 -1
  13. package/Http/Client.js +22 -44
  14. package/Http/Client.js.map +1 -1
  15. package/Http/ClientError.js +3 -6
  16. package/Http/ClientError.js.map +1 -1
  17. package/Http/ClientRequest.js +36 -72
  18. package/Http/ClientRequest.js.map +1 -1
  19. package/Http/ClientResponse.js +3 -6
  20. package/Http/ClientResponse.js.map +1 -1
  21. package/Http/Etag.js +3 -6
  22. package/Http/Etag.js.map +1 -1
  23. package/Http/FormData.js +19 -38
  24. package/Http/FormData.js.map +1 -1
  25. package/Http/Headers.js +6 -12
  26. package/Http/Headers.js.map +1 -1
  27. package/Http/IncomingMessage.d.ts +1 -0
  28. package/Http/IncomingMessage.d.ts.map +1 -1
  29. package/Http/IncomingMessage.js +4 -8
  30. package/Http/IncomingMessage.js.map +1 -1
  31. package/Http/Middleware.js +6 -12
  32. package/Http/Middleware.js.map +1 -1
  33. package/Http/Platform.js +3 -6
  34. package/Http/Platform.js.map +1 -1
  35. package/Http/Router.js +30 -60
  36. package/Http/Router.js.map +1 -1
  37. package/Http/Server.js +4 -8
  38. package/Http/Server.js.map +1 -1
  39. package/Http/ServerError.js +5 -10
  40. package/Http/ServerError.js.map +1 -1
  41. package/Http/ServerRequest.d.ts +5 -2
  42. package/Http/ServerRequest.d.ts.map +1 -1
  43. package/Http/ServerRequest.js +8 -16
  44. package/Http/ServerRequest.js.map +1 -1
  45. package/Http/ServerResponse.js +17 -34
  46. package/Http/ServerResponse.js.map +1 -1
  47. package/Http/UrlParams.js +6 -12
  48. package/Http/UrlParams.js.map +1 -1
  49. package/KeyValueStore.js +8 -16
  50. package/KeyValueStore.js.map +1 -1
  51. package/Path.js +2 -4
  52. package/Path.js.map +1 -1
  53. package/internal/command.js +9 -18
  54. package/internal/command.js.map +1 -1
  55. package/internal/commandExecutor.js +4 -8
  56. package/internal/commandExecutor.js.map +1 -1
  57. package/internal/error.js +3 -6
  58. package/internal/error.js.map +1 -1
  59. package/internal/fileSystem.js +1 -2
  60. package/internal/fileSystem.js.map +1 -1
  61. package/internal/http/body.js +3 -6
  62. package/internal/http/body.js.map +1 -1
  63. package/internal/http/client.js +18 -36
  64. package/internal/http/client.js.map +1 -1
  65. package/internal/http/clientError.js +3 -6
  66. package/internal/http/clientError.js.map +1 -1
  67. package/internal/http/clientRequest.js +35 -70
  68. package/internal/http/clientRequest.js.map +1 -1
  69. package/internal/http/clientResponse.js +5 -2
  70. package/internal/http/clientResponse.js.map +1 -1
  71. package/internal/http/etag.js +2 -4
  72. package/internal/http/etag.js.map +1 -1
  73. package/internal/http/formData.js +15 -30
  74. package/internal/http/formData.js.map +1 -1
  75. package/internal/http/middleware.js +8 -10
  76. package/internal/http/middleware.js.map +1 -1
  77. package/internal/http/platform.js +2 -4
  78. package/internal/http/platform.js.map +1 -1
  79. package/internal/http/router.js +29 -53
  80. package/internal/http/router.js.map +1 -1
  81. package/internal/http/server.js +3 -6
  82. package/internal/http/server.js.map +1 -1
  83. package/internal/http/serverError.js +5 -10
  84. package/internal/http/serverError.js.map +1 -1
  85. package/internal/http/serverRequest.js +3 -6
  86. package/internal/http/serverRequest.js.map +1 -1
  87. package/internal/http/serverResponse.js +5 -10
  88. package/internal/http/serverResponse.js.map +1 -1
  89. package/internal/keyValueStore.js +5 -10
  90. package/internal/keyValueStore.js.map +1 -1
  91. package/internal/path.js +2 -4
  92. package/internal/path.js.map +1 -1
  93. package/mjs/Http/IncomingMessage.mjs.map +1 -1
  94. package/mjs/Http/ServerRequest.mjs.map +1 -1
  95. package/mjs/internal/http/clientResponse.mjs +4 -0
  96. package/mjs/internal/http/clientResponse.mjs.map +1 -1
  97. package/mjs/internal/http/middleware.mjs +4 -1
  98. package/mjs/internal/http/middleware.mjs.map +1 -1
  99. package/mjs/internal/http/router.mjs +3 -1
  100. package/mjs/internal/http/router.mjs.map +1 -1
  101. package/package.json +5 -5
  102. package/src/Http/IncomingMessage.ts +1 -0
  103. package/src/Http/ServerRequest.ts +7 -2
  104. package/src/internal/http/clientResponse.ts +5 -0
  105. package/src/internal/http/middleware.ts +8 -5
  106. package/src/internal/http/router.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IncomingMessage.mjs","names":["Context","dual","flow","Global","Option","Effect","FiberRef","FileSystem","ParseResult","Schema","TypeId","Symbol","for","schemaBodyJson","schema","parse","self","flatMap","json","schemaBodyUrlParams","urlParamsBody","_","Object","fromEntries","schemaHeaders","headers","SpanSchema","struct","traceId","string","spanId","parentSpanId","union","undefined","schemaExternalSpan","transformOrFail","b3","NonEmpty","parts","split","length","success","failure","missing","transform","optional","map","_tag","context","empty","maxBodySize","globalValue","unsafeMake","none","withMaxBodySize","effect","size","locally","Size"],"sources":["../../src/Http/IncomingMessage.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"IncomingMessage.mjs","names":["Context","dual","flow","Global","Option","Effect","FiberRef","FileSystem","ParseResult","Schema","TypeId","Symbol","for","schemaBodyJson","schema","parse","self","flatMap","json","schemaBodyUrlParams","urlParamsBody","_","Object","fromEntries","schemaHeaders","headers","SpanSchema","struct","traceId","string","spanId","parentSpanId","union","undefined","schemaExternalSpan","transformOrFail","b3","NonEmpty","parts","split","length","success","failure","missing","transform","optional","map","_tag","context","empty","maxBodySize","globalValue","unsafeMake","none","withMaxBodySize","effect","size","locally","Size"],"sources":["../../src/Http/IncomingMessage.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServerRequest.mjs","names":["internal","maxBodySize","TypeId","ServerRequest","serverRequestTag","formDataRecord","schemaHeaders","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaFormDataJson"],"sources":["../../src/Http/ServerRequest.ts"],"sourcesContent":[null],"mappings":"AAYA,OAAO,KAAKA,QAAQ,MAAM,8CAA8C;AAMxE;AACE;;;;AAIAC,WAAW,QACN,uCAAuC;AAE9C;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBF,QAAQ,CAACE,MAAM;AAyBpD;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CH,QAAQ,CAACI,gBAAgB;AAEjG;;;;AAIA,OAAO,MAAMC,cAAc,GAIvBL,QAAQ,CAACK,cAAc;AAE3B;;;;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.mjs","names":["internal","maxBodySize","TypeId","ServerRequest","serverRequestTag","formDataRecord","schemaHeaders","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaFormDataJson"],"sources":["../../src/Http/ServerRequest.ts"],"sourcesContent":[null],"mappings":"AAYA,OAAO,KAAKA,QAAQ,MAAM,8CAA8C;AAMxE;AACE;;;;AAIAC,WAAW,QACN,uCAAuC;AAE9C;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBF,QAAQ,CAACE,MAAM;AA8BpD;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CH,QAAQ,CAACI,gBAAgB;AAEjG;;;;AAIA,OAAO,MAAMC,cAAc,GAIvBL,QAAQ,CAACK,cAAc;AAE3B;;;;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,3 +1,4 @@
1
+ import * as Option from "@effect/data/Option";
1
2
  import * as Effect from "@effect/io/Effect";
2
3
  import * as Headers from "@effect/platform/Http/Headers";
3
4
  import * as IncomingMessage from "@effect/platform/Http/IncomingMessage";
@@ -22,6 +23,9 @@ class ClientResponseImpl {
22
23
  get headers() {
23
24
  return Headers.fromInput(this.source.headers);
24
25
  }
26
+ get remoteAddress() {
27
+ return Option.none();
28
+ }
25
29
  get stream() {
26
30
  return this.source.body ? Stream.fromReadableStream(() => this.source.body, _ => internalError.responseError({
27
31
  request: this.request,
@@ -1 +1 @@
1
- {"version":3,"file":"clientResponse.mjs","names":["Effect","Headers","IncomingMessage","UrlParams","internalError","Schema","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","urlParamsBody","flatMap","URLSearchParams","formData","arrayBuffer","schemaJson","schema","parse","self"],"sources":["../../../src/internal/http/clientResponse.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"clientResponse.mjs","names":["Option","Effect","Headers","IncomingMessage","UrlParams","internalError","Schema","Stream","TypeId","Symbol","for","fromWeb","request","source","ClientResponseImpl","constructor","status","headers","fromInput","remoteAddress","none","stream","body","fromReadableStream","_","responseError","response","reason","error","fail","json","tryPromise","try","catch","text","urlParamsBody","flatMap","URLSearchParams","formData","arrayBuffer","schemaJson","schema","parse","self"],"sources":["../../../src/internal/http/clientResponse.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,qBAAqB;AAC7C,OAAO,KAAKC,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;AAE3E,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAC/C,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,CAACV,eAAe,CAACK,MAAM,CAAC,GAAGL,eAAe,CAACK,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,OAAOf,OAAO,CAACgB,SAAS,CAAC,IAAI,CAACL,MAAM,CAACI,OAAO,CAAC;EAC/C;EAEA,IAAIE,aAAaA,CAAA;IACf,OAAOnB,MAAM,CAACoB,IAAI,EAAE;EACtB;EAEA,IAAIC,MAAMA,CAAA;IACR,OAAO,IAAI,CAACR,MAAM,CAACS,IAAI,GACnBf,MAAM,CAACgB,kBAAkB,CAAC,MAAM,IAAI,CAACV,MAAM,CAACS,IAAK,EAAGE,CAAC,IACrDnB,aAAa,CAACoB,aAAa,CAAC;MAC1Bb,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBc,QAAQ,EAAE,IAAI;MACdC,MAAM,EAAE,QAAQ;MAChBC,KAAK,EAAEJ;KACR,CAAC,CAAC,GACHjB,MAAM,CAACsB,IAAI,CAACxB,aAAa,CAACoB,aAAa,CAAC;MACxCb,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBc,QAAQ,EAAE,IAAI;MACdC,MAAM,EAAE,WAAW;MACnBC,KAAK,EAAE;KACR,CAAC,CAAC;EACP;EAEA,IAAIE,IAAIA,CAAA;IACN,OAAO7B,MAAM,CAAC8B,UAAU,CAAC;MACvBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACnB,MAAM,CAACiB,IAAI,EAAE;MAC7BG,KAAK,EAAGT,CAAC,IACPnB,aAAa,CAACoB,aAAa,CAAC;QAC1Bb,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBc,QAAQ,EAAE,IAAI;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAEJ;OACR;KACJ,CAAC;EACJ;EAEA,IAAIU,IAAIA,CAAA;IACN,OAAOjC,MAAM,CAAC8B,UAAU,CAAC;MACvBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACnB,MAAM,CAACqB,IAAI,EAAE;MAC7BD,KAAK,EAAGT,CAAC,IACPnB,aAAa,CAACoB,aAAa,CAAC;QAC1Bb,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBc,QAAQ,EAAE,IAAI;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAEJ;OACR;KACJ,CAAC;EACJ;EAEA,IAAIW,aAAaA,CAAA;IACf,OAAOlC,MAAM,CAACmC,OAAO,CAAC,IAAI,CAACF,IAAI,EAAGV,CAAC,IACjCvB,MAAM,CAAC+B,GAAG,CAAC;MACTA,GAAG,EAAEA,CAAA,KAAM5B,SAAS,CAACc,SAAS,CAAC,IAAImB,eAAe,CAACb,CAAC,CAAC,CAAC;MACtDS,KAAK,EAAGT,CAAC,IACPnB,aAAa,CAACoB,aAAa,CAAC;QAC1Bb,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBc,QAAQ,EAAE,IAAI;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAEJ;OACR;KACJ,CAAC,CAAC;EACP;EAEA,IAAIc,QAAQA,CAAA;IACV,OAAOrC,MAAM,CAAC8B,UAAU,CAAC;MACvBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACnB,MAAM,CAACyB,QAAQ,EAAE;MACjCL,KAAK,EAAGT,CAAC,IACPnB,aAAa,CAACoB,aAAa,CAAC;QAC1Bb,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBc,QAAQ,EAAE,IAAI;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAEJ;OACR;KACJ,CAAC;EACJ;EAEA,IAAIe,WAAWA,CAAA;IACb,OAAOtC,MAAM,CAAC8B,UAAU,CAAC;MACvBC,GAAG,EAAEA,CAAA,KAAM,IAAI,CAACnB,MAAM,CAAC0B,WAAW,EAAE;MACpCN,KAAK,EAAGT,CAAC,IACPnB,aAAa,CAACoB,aAAa,CAAC;QAC1Bb,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBc,QAAQ,EAAE,IAAI;QACdC,MAAM,EAAE,QAAQ;QAChBC,KAAK,EAAEJ;OACR;KACJ,CAAC;EACJ;;AAxGUrB,eAAe,CAACK,MAAM;AA2GlC;AACA,OAAO,MAAMgC,UAAU,GAOrBC,MAA2B,IAAI;EAC/B,MAAMC,KAAK,GAAGpC,MAAM,CAACoC,KAAK,CAACD,MAAM,CAAC;EAClC,OAAQE,IAAmC,IACzC1C,MAAM,CAACmC,OAAO,CACZO,IAAI,CAACb,IAAI,EACRR,IAAI,IACHoB,KAAK,CAAC;IACJ1B,MAAM,EAAE2B,IAAI,CAAC3B,MAAM;IACnBC,OAAO,EAAE0B,IAAI,CAAC1B,OAAO;IACrBK;GACD,CAAC,CACL;AACL,CAAC"}
@@ -30,7 +30,10 @@ export const tracer = /*#__PURE__*/make(httpApp => Effect.flatMap(ServerRequest.
30
30
  /** @internal */
31
31
  export const b3Response = /*#__PURE__*/make(httpApp => Effect.flatMap(Effect.currentSpan, span => span._tag === "Some" ? Effect.map(httpApp, res => ServerResponse.setHeader(res, "b3", `${span.value.traceId}-${span.value.spanId}-1${span.value.parent._tag === "Some" ? `-${span.value.parent.value.spanId}` : ""}`)) : httpApp));
32
32
  /** @internal */
33
- export const xForwardedHeaders = /*#__PURE__*/make(httpApp => Effect.updateService(httpApp, ServerRequest.ServerRequest, request => request.headers["x-forwarded-host"] ? request.replaceHeaders(Headers.set(request.headers, "host", request.headers["x-forwarded-host"])) : request));
33
+ export const xForwardedHeaders = /*#__PURE__*/make(httpApp => Effect.updateService(httpApp, ServerRequest.ServerRequest, request => request.headers["x-forwarded-host"] ? request.modify({
34
+ headers: Headers.set(request.headers, "host", request.headers["x-forwarded-host"]),
35
+ remoteAddress: request.headers["x-forwarded-for"]?.split(",")[0].trim()
36
+ }) : request));
34
37
  /** @internal */
35
38
  export const loggerTracer = /*#__PURE__*/flow(tracer, logger);
36
39
  //# sourceMappingURL=middleware.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.mjs","names":["flow","Effect","Headers","IncomingMessage","ServerRequest","ServerResponse","make","middleware","logger","httpApp","counter","flatMap","request","withLogSpan","onExit","exit","_tag","annotateLogs","log","cause","method","url","value","status","tracer","orElseSucceed","schemaExternalSpan","undefined","parent","withSpan","tap","response","annotateCurrentSpan","attributes","b3Response","currentSpan","span","map","res","setHeader","traceId","spanId","xForwardedHeaders","updateService","headers","replaceHeaders","set","loggerTracer"],"sources":["../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"middleware.mjs","names":["flow","Effect","Headers","IncomingMessage","ServerRequest","ServerResponse","make","middleware","logger","httpApp","counter","flatMap","request","withLogSpan","onExit","exit","_tag","annotateLogs","log","cause","method","url","value","status","tracer","orElseSucceed","schemaExternalSpan","undefined","parent","withSpan","tap","response","annotateCurrentSpan","attributes","b3Response","currentSpan","span","map","res","setHeader","traceId","spanId","xForwardedHeaders","updateService","headers","modify","set","remoteAddress","split","trim","loggerTracer"],"sources":["../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -116,7 +116,9 @@ const toHttpApp = self => {
116
116
  };
117
117
  function sliceRequestUrl(request, prefix) {
118
118
  const prefexLen = prefix.length;
119
- return request.setUrl(request.url.length <= prefexLen ? "/" : request.url.slice(prefexLen));
119
+ return request.modify({
120
+ url: request.url.length <= prefexLen ? "/" : request.url.slice(prefexLen)
121
+ });
120
122
  }
121
123
  class RouteImpl {
122
124
  constructor(method, path, handler, prefix = Option.none()) {
@@ -1 +1 @@
1
- {"version":3,"file":"router.mjs","names":["Chunk","Context","Equal","dual","Hash","Inspectable","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","toJSON","_id","toString","NodeInspectSymbol","self","router","toReadonlyArray","mountsLen","length","forEach","route","fn","method","all","path","on","request","i","app","url","startsWith","provideService","sliceRequestUrl","result","find","fail","RouteNotFound","handler","prefix","value","mapInputContext","context","add","RouteContextImpl","prefexLen","setUrl","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","get","post","put","patch","del","head","options","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","tag","service","provideServiceEffect","effect"],"sources":["../../../src/internal/http/router.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"router.mjs","names":["Chunk","Context","Equal","dual","Hash","Inspectable","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","toJSON","_id","toString","NodeInspectSymbol","self","router","toReadonlyArray","mountsLen","length","forEach","route","fn","method","all","path","on","request","i","app","url","startsWith","provideService","sliceRequestUrl","result","find","fail","RouteNotFound","handler","prefix","value","mapInputContext","context","add","RouteContextImpl","prefexLen","modify","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","get","post","put","patch","del","head","options","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","tag","service","provideServiceEffect","effect"],"sources":["../../../src/internal/http/router.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.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -29,9 +29,9 @@
29
29
  "path-browserify": "^1.0.1"
30
30
  },
31
31
  "peerDependencies": {
32
- "@effect/data": "^0.18.5",
33
- "@effect/io": "^0.40.1",
34
- "@effect/schema": "^0.36.1",
35
- "@effect/stream": "^0.36.0"
32
+ "@effect/data": "^0.18.6",
33
+ "@effect/io": "^0.41.0",
34
+ "@effect/schema": "^0.37.0",
35
+ "@effect/stream": "^0.37.0"
36
36
  }
37
37
  }
@@ -34,6 +34,7 @@ export type TypeId = typeof TypeId
34
34
  export interface IncomingMessage<E> {
35
35
  readonly [TypeId]: TypeId
36
36
  readonly headers: Headers.Headers
37
+ readonly remoteAddress: Option.Option<string>
37
38
  readonly json: Effect.Effect<never, E, unknown>
38
39
  readonly text: Effect.Effect<never, E, string>
39
40
  readonly urlParamsBody: Effect.Effect<never, E, UrlParams.UrlParams>
@@ -49,8 +49,13 @@ export interface ServerRequest extends IncomingMessage.IncomingMessage<Error.Req
49
49
  readonly formData: Effect.Effect<Scope.Scope | FileSystem.FileSystem | Path.Path, FormData.FormDataError, FormData>
50
50
  readonly formDataStream: Stream.Stream<never, FormData.FormDataError, FormData.Part>
51
51
 
52
- readonly setUrl: (url: string) => ServerRequest
53
- readonly replaceHeaders: (headers: Headers.Headers) => ServerRequest
52
+ readonly modify: (
53
+ options: {
54
+ readonly url?: string
55
+ readonly headers?: Headers.Headers
56
+ readonly remoteAddress?: string
57
+ }
58
+ ) => ServerRequest
54
59
  }
55
60
 
56
61
  /**
@@ -1,3 +1,4 @@
1
+ import * as Option from "@effect/data/Option"
1
2
  import * as Effect from "@effect/io/Effect"
2
3
  import type * as Error from "@effect/platform/Http/ClientError"
3
4
  import type * as ClientRequest from "@effect/platform/Http/ClientRequest"
@@ -39,6 +40,10 @@ class ClientResponseImpl implements ClientResponse.ClientResponse {
39
40
  return Headers.fromInput(this.source.headers)
40
41
  }
41
42
 
43
+ get remoteAddress(): Option.Option<string> {
44
+ return Option.none()
45
+ }
46
+
42
47
  get stream(): Stream.Stream<never, Error.ResponseError, Uint8Array> {
43
48
  return this.source.body
44
49
  ? Stream.fromReadableStream(() => this.source.body!, (_) =>
@@ -75,11 +75,14 @@ export const b3Response = make((httpApp) =>
75
75
  export const xForwardedHeaders = make((httpApp) =>
76
76
  Effect.updateService(httpApp, ServerRequest.ServerRequest, (request) =>
77
77
  request.headers["x-forwarded-host"]
78
- ? request.replaceHeaders(Headers.set(
79
- request.headers,
80
- "host",
81
- request.headers["x-forwarded-host"]
82
- ))
78
+ ? request.modify({
79
+ headers: Headers.set(
80
+ request.headers,
81
+ "host",
82
+ request.headers["x-forwarded-host"]
83
+ ),
84
+ remoteAddress: request.headers["x-forwarded-for"]?.split(",")[0].trim()
85
+ })
83
86
  : request)
84
87
  )
85
88
 
@@ -165,7 +165,7 @@ const toHttpApp = <R, E>(
165
165
 
166
166
  function sliceRequestUrl(request: ServerRequest.ServerRequest, prefix: string) {
167
167
  const prefexLen = prefix.length
168
- return request.setUrl(request.url.length <= prefexLen ? "/" : request.url.slice(prefexLen))
168
+ return request.modify({ url: request.url.length <= prefexLen ? "/" : request.url.slice(prefexLen) })
169
169
  }
170
170
 
171
171
  class RouteImpl<R, E> implements Router.Route<R, E> {