@effect/platform 0.69.1 → 0.69.3

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.
@@ -4,57 +4,68 @@
4
4
  import * as Context from "effect/Context";
5
5
  import * as Effect from "effect/Effect";
6
6
  import * as Exit from "effect/Exit";
7
- import * as FiberRef from "effect/FiberRef";
8
7
  import * as Layer from "effect/Layer";
9
8
  import * as Runtime from "effect/Runtime";
10
9
  import * as Scope from "effect/Scope";
10
+ import { unify } from "effect/Unify";
11
11
  import * as ServerError from "./HttpServerError.js";
12
12
  import * as ServerRequest from "./HttpServerRequest.js";
13
13
  import * as ServerResponse from "./HttpServerResponse.js";
14
14
  import * as internal from "./internal/httpApp.js";
15
15
  import * as internalMiddleware from "./internal/httpMiddleware.js";
16
+ const handledSymbol = /*#__PURE__*/Symbol.for("@effect/platform/HttpApp/handled");
16
17
  /**
17
18
  * @since 1.0.0
18
19
  * @category combinators
19
20
  */
20
21
  export const toHandled = (self, handleResponse, middleware) => {
21
- const responded = Effect.withFiberRuntime(fiber => {
22
- let handled = false;
23
- const request = Context.unsafeGet(fiber.getFiberRef(FiberRef.currentContext), ServerRequest.HttpServerRequest);
24
- const preprocessResponse = response => {
25
- const handler = fiber.getFiberRef(currentPreResponseHandlers);
26
- return handler._tag === "Some" ? handler.value(request, response) : Effect.succeed(response);
27
- };
28
- const responded = Effect.matchCauseEffect(self, {
29
- onFailure: cause => Effect.flatMap(ServerError.causeResponse(cause), ([response, cause]) => preprocessResponse(response).pipe(Effect.flatMap(response => {
30
- handled = true;
31
- return handleResponse(request, response);
32
- }), Effect.zipRight(Effect.failCause(cause)))),
33
- onSuccess: response => Effect.tap(preprocessResponse(response), response => {
34
- handled = true;
35
- return handleResponse(request, response);
36
- })
37
- });
38
- const withTracer = internalMiddleware.tracer(responded);
39
- if (middleware === undefined) {
40
- return withTracer;
22
+ const responded = Effect.withFiberRuntime(fiber => Effect.flatMap(self, response => {
23
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest);
24
+ const handler = fiber.getFiberRef(currentPreResponseHandlers);
25
+ if (handler._tag === "None") {
26
+ ;
27
+ request[handledSymbol] = true;
28
+ return Effect.as(handleResponse(request, response), response);
41
29
  }
42
- return Effect.matchCauseEffect(middleware(withTracer), {
43
- onFailure: cause => {
44
- if (handled) {
45
- return Effect.void;
46
- }
47
- return Effect.matchCauseEffect(ServerError.causeResponse(cause), {
48
- onFailure: _cause => handleResponse(request, ServerResponse.empty({
49
- status: 500
50
- })),
51
- onSuccess: ([response]) => handleResponse(request, response)
52
- });
53
- },
54
- onSuccess: response => handled ? Effect.void : handleResponse(request, response)
30
+ return Effect.tap(handler.value(request, response), response => {
31
+ ;
32
+ request[handledSymbol] = true;
33
+ return handleResponse(request, response);
55
34
  });
56
- });
57
- return Effect.uninterruptible(Effect.scoped(responded));
35
+ }));
36
+ const withErrorHandling = Effect.catchAllCause(responded, cause => Effect.withFiberRuntime(fiber => Effect.flatMap(ServerError.causeResponse(cause), ([response, cause]) => {
37
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest);
38
+ const handler = fiber.getFiberRef(currentPreResponseHandlers);
39
+ if (handler._tag === "None") {
40
+ ;
41
+ request[handledSymbol] = true;
42
+ return Effect.zipRight(handleResponse(request, response), Effect.failCause(cause));
43
+ }
44
+ return Effect.zipRight(Effect.tap(handler.value(request, response), response => {
45
+ ;
46
+ request[handledSymbol] = true;
47
+ return handleResponse(request, response);
48
+ }), Effect.failCause(cause));
49
+ })));
50
+ const withMiddleware = unify(middleware === undefined ? internalMiddleware.tracer(withErrorHandling) : Effect.matchCauseEffect(middleware(internalMiddleware.tracer(withErrorHandling)), {
51
+ onFailure: cause => Effect.withFiberRuntime(fiber => {
52
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest);
53
+ if (handledSymbol in request) {
54
+ return Effect.void;
55
+ }
56
+ return Effect.matchCauseEffect(ServerError.causeResponse(cause), {
57
+ onFailure: _cause => handleResponse(request, ServerResponse.empty({
58
+ status: 500
59
+ })),
60
+ onSuccess: ([response]) => handleResponse(request, response)
61
+ });
62
+ }),
63
+ onSuccess: response => Effect.withFiberRuntime(fiber => {
64
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest);
65
+ return handledSymbol in request ? Effect.void : handleResponse(request, response);
66
+ })
67
+ }));
68
+ return Effect.uninterruptible(Effect.scoped(withMiddleware));
58
69
  };
59
70
  /**
60
71
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"HttpApp.js","names":["Context","Effect","Exit","FiberRef","Layer","Runtime","Scope","ServerError","ServerRequest","ServerResponse","internal","internalMiddleware","toHandled","self","handleResponse","middleware","responded","withFiberRuntime","fiber","handled","request","unsafeGet","getFiberRef","currentContext","HttpServerRequest","preprocessResponse","response","handler","currentPreResponseHandlers","_tag","value","succeed","matchCauseEffect","onFailure","cause","flatMap","causeResponse","pipe","zipRight","failCause","onSuccess","tap","withTracer","tracer","undefined","void","_cause","empty","status","uninterruptible","scoped","appendPreResponseHandler","withPreResponseHandler","toWebHandlerRuntime","runtime","run","runFork","Promise","resolve","provideService","toWeb","withoutBody","method","fromWeb","signal","addEventListener","unsafeInterruptAsFork","clientAbortFiberId","once","toWebHandler","defaultRuntime","toWebHandlerLayer","layer","scope","runSync","make","close","runPromise","build","map","toRuntime","_","runner","extend","then"],"sources":["../../src/HttpApp.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpApp.js","names":["Context","Effect","Exit","Layer","Runtime","Scope","unify","ServerError","ServerRequest","ServerResponse","internal","internalMiddleware","handledSymbol","Symbol","for","toHandled","self","handleResponse","middleware","responded","withFiberRuntime","fiber","flatMap","response","request","unsafeGet","currentContext","HttpServerRequest","handler","getFiberRef","currentPreResponseHandlers","_tag","as","tap","value","withErrorHandling","catchAllCause","cause","causeResponse","zipRight","failCause","withMiddleware","undefined","tracer","matchCauseEffect","onFailure","void","_cause","empty","status","onSuccess","uninterruptible","scoped","appendPreResponseHandler","withPreResponseHandler","toWebHandlerRuntime","runtime","run","runFork","Promise","resolve","provideService","toWeb","withoutBody","method","fromWeb","signal","addEventListener","unsafeInterruptAsFork","clientAbortFiberId","once","toWebHandler","defaultRuntime","toWebHandlerLayer","layer","scope","runSync","make","close","runPromise","build","map","toRuntime","_","runner","extend","then"],"sources":["../../src/HttpApp.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
  * @since 1.0.0
3
3
  */
4
4
  import * as Context from "effect/Context";
5
+ import { globalValue } from "effect/GlobalValue";
5
6
  import * as HashSet from "effect/HashSet";
6
7
  import * as Option from "effect/Option";
7
8
  import * as Schema from "effect/Schema";
@@ -50,44 +51,48 @@ export class Servers extends /*#__PURE__*/Context.Tag("@effect/platform/OpenApi/
50
51
  * @since 1.0.0
51
52
  * @category annotations
52
53
  */
53
- export class Override extends /*#__PURE__*/Context.Tag("@effect/platform/OpenApi/Override")() {}
54
+ export class Format extends /*#__PURE__*/Context.Tag("@effect/platform/OpenApi/Format")() {}
54
55
  /**
55
56
  * @since 1.0.0
56
57
  * @category annotations
57
58
  */
58
- export const annotations = annotations => {
59
- let context = Context.empty();
60
- if (annotations.identifier !== undefined) {
61
- context = Context.add(context, Identifier, annotations.identifier);
62
- }
63
- if (annotations.title !== undefined) {
64
- context = Context.add(context, Title, annotations.title);
65
- }
66
- if (annotations.description !== undefined) {
67
- context = Context.add(context, Description, annotations.description);
68
- }
69
- if (annotations.version !== undefined) {
70
- context = Context.add(context, Version, annotations.version);
71
- }
72
- if (annotations.license !== undefined) {
73
- context = Context.add(context, License, annotations.license);
74
- }
75
- if (annotations.externalDocs !== undefined) {
76
- context = Context.add(context, ExternalDocs, annotations.externalDocs);
77
- }
78
- if (annotations.servers !== undefined) {
79
- context = Context.add(context, Servers, annotations.servers);
80
- }
81
- if (annotations.override !== undefined) {
82
- context = Context.add(context, Override, annotations.override);
83
- }
84
- return context;
59
+ export class Override extends /*#__PURE__*/Context.Tag("@effect/platform/OpenApi/Override")() {}
60
+ const contextPartial = tags => {
61
+ const entries = Object.entries(tags);
62
+ return options => {
63
+ let context = Context.empty();
64
+ for (const [key, tag] of entries) {
65
+ if (options[key] !== undefined) {
66
+ context = Context.add(context, tag, options[key]);
67
+ }
68
+ }
69
+ return context;
70
+ };
85
71
  };
72
+ /**
73
+ * @since 1.0.0
74
+ * @category annotations
75
+ */
76
+ export const annotations = /*#__PURE__*/contextPartial({
77
+ identifier: Identifier,
78
+ title: Title,
79
+ version: Version,
80
+ description: Description,
81
+ license: License,
82
+ externalDocs: ExternalDocs,
83
+ servers: Servers,
84
+ format: Format,
85
+ override: Override
86
+ });
87
+ const apiCache = /*#__PURE__*/globalValue("@effect/platform/OpenApi/apiCache", () => new WeakMap());
86
88
  /**
87
89
  * @category constructors
88
90
  * @since 1.0.0
89
91
  */
90
92
  export const fromApi = self => {
93
+ if (apiCache.has(self)) {
94
+ return apiCache.get(self);
95
+ }
91
96
  const api = self;
92
97
  const jsonSchemaDefs = {};
93
98
  const spec = {
@@ -110,14 +115,12 @@ export const fromApi = self => {
110
115
  defsPath: "#/components/schemas/"
111
116
  });
112
117
  }
113
- function registerSecurity(tag, name, security) {
114
- const id = `${tag.key}/${name}`;
115
- if (spec.components.securitySchemes[id]) {
116
- return id;
118
+ function registerSecurity(name, security) {
119
+ if (spec.components.securitySchemes[name]) {
120
+ return;
117
121
  }
118
122
  const scheme = makeSecurityScheme(security);
119
- spec.components.securitySchemes[id] = scheme;
120
- return id;
123
+ spec.components.securitySchemes[name] = scheme;
121
124
  }
122
125
  Option.map(Context.getOption(api.annotations, Description), description => {
123
126
  spec.info.description = description;
@@ -136,9 +139,9 @@ export const fromApi = self => {
136
139
  return;
137
140
  }
138
141
  for (const [name, security] of Object.entries(middleware.security)) {
139
- const id = registerSecurity(middleware, name, security);
142
+ registerSecurity(name, security);
140
143
  spec.security.push({
141
- [id]: []
144
+ [name]: []
142
145
  });
143
146
  }
144
147
  });
@@ -187,9 +190,9 @@ export const fromApi = self => {
187
190
  return;
188
191
  }
189
192
  for (const [name, security] of Object.entries(middleware.security)) {
190
- const id = registerSecurity(middleware, name, security);
193
+ registerSecurity(name, security);
191
194
  op.security.push({
192
- [id]: []
195
+ [name]: []
193
196
  });
194
197
  }
195
198
  });
@@ -290,6 +293,7 @@ export const fromApi = self => {
290
293
  spec.paths[path][method] = op;
291
294
  }
292
295
  });
296
+ apiCache.set(self, spec);
293
297
  return spec;
294
298
  };
295
299
  const makeSecurityScheme = security => {
@@ -308,10 +312,14 @@ const makeSecurityScheme = security => {
308
312
  }
309
313
  case "Bearer":
310
314
  {
315
+ const format = Context.getOption(security.annotations, Format).pipe(Option.map(format => ({
316
+ bearerFormat: format
317
+ })), Option.getOrUndefined);
311
318
  return {
312
319
  ...meta,
313
320
  type: "http",
314
- scheme: "bearer"
321
+ scheme: "bearer",
322
+ ...format
315
323
  };
316
324
  }
317
325
  case "ApiKey":
@@ -1 +1 @@
1
- {"version":3,"file":"OpenApi.js","names":["Context","HashSet","Option","Schema","AST","HttpApi","HttpApiMiddleware","HttpApiSchema","HttpMethod","JsonSchema","Identifier","Tag","Title","Version","Description","License","ExternalDocs","Servers","Override","annotations","context","empty","identifier","undefined","add","title","description","version","license","externalDocs","servers","override","fromApi","self","api","jsonSchemaDefs","spec","openapi","info","getOrElse","paths","tags","components","schemas","securitySchemes","security","makeJsonSchemaOrRef","schema","makeWithDefs","defs","defsPath","registerSecurity","tag","name","id","key","scheme","makeSecurityScheme","map","getOption","Object","assign","forEach","middlewares","middleware","isSecurity","entries","push","reflect","onGroup","group","onEndpoint","endpoint","errors","successes","path","replace","method","toLowerCase","op","operationId","topLevel","parameters","responses","payloadSchema","pipe","filter","hasBody","requestBody","content","getMultipart","ast","required","status","getDescriptionOrIdentifier","getEmptyDecodeable","make","isSome","pathSchema","value","properties","jsonSchema","in","includes","headersSchema","urlParamsSchema","meta","_tag","type","to","flatMapNullable","DescriptionAnnotationId","IdentifierAnnotationId"],"sources":["../../src/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OpenApi.js","names":["Context","globalValue","HashSet","Option","Schema","AST","HttpApi","HttpApiMiddleware","HttpApiSchema","HttpMethod","JsonSchema","Identifier","Tag","Title","Version","Description","License","ExternalDocs","Servers","Format","Override","contextPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","externalDocs","servers","format","override","apiCache","WeakMap","fromApi","self","has","get","api","jsonSchemaDefs","spec","openapi","info","getOrElse","paths","components","schemas","securitySchemes","security","makeJsonSchemaOrRef","schema","makeWithDefs","defs","defsPath","registerSecurity","name","scheme","makeSecurityScheme","map","getOption","assign","forEach","middlewares","middleware","isSecurity","push","reflect","onGroup","group","onEndpoint","endpoint","errors","successes","path","replace","method","toLowerCase","op","operationId","topLevel","parameters","responses","payloadSchema","pipe","filter","hasBody","requestBody","content","getMultipart","ast","required","status","getDescriptionOrIdentifier","getEmptyDecodeable","make","isSome","pathSchema","value","properties","jsonSchema","in","includes","headersSchema","urlParamsSchema","set","meta","_tag","type","bearerFormat","getOrUndefined","to","flatMapNullable","DescriptionAnnotationId","IdentifierAnnotationId"],"sources":["../../src/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -29,8 +29,7 @@ export const withTracerDisabledForUrls = /*#__PURE__*/dual(2, (self, urls) => La
29
29
  export const logger = /*#__PURE__*/make(httpApp => {
30
30
  let counter = 0;
31
31
  return Effect.withFiberRuntime(fiber => {
32
- const context = fiber.getFiberRef(FiberRef.currentContext);
33
- const request = Context.unsafeGet(context, ServerRequest.HttpServerRequest);
32
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest);
34
33
  return Effect.withLogSpan(Effect.flatMap(Effect.exit(httpApp), exit => {
35
34
  if (fiber.getFiberRef(loggerDisabled)) {
36
35
  return exit;
@@ -52,8 +51,7 @@ export const logger = /*#__PURE__*/make(httpApp => {
52
51
  });
53
52
  /** @internal */
54
53
  export const tracer = /*#__PURE__*/make(httpApp => Effect.withFiberRuntime(fiber => {
55
- const context = fiber.getFiberRef(FiberRef.currentContext);
56
- const request = Context.unsafeGet(context, ServerRequest.HttpServerRequest);
54
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest);
57
55
  const disabled = fiber.getFiberRef(currentTracerDisabledWhen)(request);
58
56
  if (disabled) {
59
57
  return httpApp;
@@ -191,8 +189,7 @@ export const cors = options => {
191
189
  };
192
190
  const preResponseHandler = (request, response) => Effect.succeed(ServerResponse.setHeaders(response, headersFromRequest(request)));
193
191
  return httpApp => Effect.withFiberRuntime(fiber => {
194
- const context = fiber.getFiberRef(FiberRef.currentContext);
195
- const request = Context.unsafeGet(context, ServerRequest.HttpServerRequest);
192
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest);
196
193
  if (request.method === "OPTIONS") {
197
194
  return Effect.succeed(ServerResponse.empty({
198
195
  status: 204,
@@ -1 +1 @@
1
- {"version":3,"file":"httpMiddleware.js","names":["Context","Effect","FiberRef","constFalse","dual","globalValue","Layer","Option","Headers","ServerError","ServerRequest","ServerResponse","TraceContext","internalHttpApp","make","middleware","loggerDisabled","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","set","currentTracerDisabledWhen","withTracerDisabledWhen","pred","locally","withTracerDisabledWhenEffect","withTracerDisabledForUrls","urls","req","includes","url","logger","httpApp","counter","withFiberRuntime","fiber","context","getFiberRef","currentContext","request","unsafeGet","HttpServerRequest","withLogSpan","flatMap","exit","_tag","response","cause","causeResponseStripped","annotateLogs","log","value","method","status","tracer","disabled","getOrUndefined","toURL","undefined","username","password","redactedHeaderNames","currentRedactedNames","redactedHeaders","redact","headers","useSpan","parent","fromHeaders","kind","captureStackTrace","span","attribute","toString","pathname","query","search","slice","protocol","name","String","remoteAddress","withParentSpan","exitResponse","xForwardedHeaders","updateService","modify","split","trim","searchParamsParser","params","searchParamsFromURL","URL","originalUrl","add","ParsedSearchParams","cors","options","opts","allowedOrigins","allowedMethods","allowedHeaders","exposedHeaders","credentials","isAllowedOrigin","origin","allowOrigin","originHeader","length","vary","allowMethods","join","allowCredentials","allowHeaders","accessControlRequestHeaders","exposeHeaders","maxAge","headersFromRequest","unsafeFromRecord","headersFromRequestOptions","preResponseHandler","succeed","setHeaders","empty","appendPreResponseHandler"],"sources":["../../../src/internal/httpMiddleware.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"httpMiddleware.js","names":["Context","Effect","FiberRef","constFalse","dual","globalValue","Layer","Option","Headers","ServerError","ServerRequest","ServerResponse","TraceContext","internalHttpApp","make","middleware","loggerDisabled","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","set","currentTracerDisabledWhen","withTracerDisabledWhen","pred","locally","withTracerDisabledWhenEffect","withTracerDisabledForUrls","urls","req","includes","url","logger","httpApp","counter","withFiberRuntime","fiber","request","unsafeGet","currentContext","HttpServerRequest","withLogSpan","flatMap","exit","getFiberRef","_tag","response","cause","causeResponseStripped","annotateLogs","log","value","method","status","tracer","disabled","getOrUndefined","toURL","undefined","username","password","redactedHeaderNames","currentRedactedNames","redactedHeaders","redact","headers","useSpan","parent","fromHeaders","kind","captureStackTrace","span","attribute","toString","pathname","query","search","slice","protocol","name","String","remoteAddress","withParentSpan","exitResponse","xForwardedHeaders","updateService","modify","split","trim","searchParamsParser","context","params","searchParamsFromURL","URL","originalUrl","add","ParsedSearchParams","cors","options","opts","allowedOrigins","allowedMethods","allowedHeaders","exposedHeaders","credentials","isAllowedOrigin","origin","allowOrigin","originHeader","length","vary","allowMethods","join","allowCredentials","allowHeaders","accessControlRequestHeaders","exposeHeaders","maxAge","headersFromRequest","unsafeFromRecord","headersFromRequestOptions","preResponseHandler","succeed","setHeaders","empty","appendPreResponseHandler"],"sources":["../../../src/internal/httpMiddleware.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.69.1",
3
+ "version": "0.69.3",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/HttpApp.ts CHANGED
@@ -4,11 +4,12 @@
4
4
  import * as Context from "effect/Context"
5
5
  import * as Effect from "effect/Effect"
6
6
  import * as Exit from "effect/Exit"
7
- import * as FiberRef from "effect/FiberRef"
7
+ import type * as FiberRef from "effect/FiberRef"
8
8
  import * as Layer from "effect/Layer"
9
9
  import type * as Option from "effect/Option"
10
10
  import * as Runtime from "effect/Runtime"
11
11
  import * as Scope from "effect/Scope"
12
+ import { unify } from "effect/Unify"
12
13
  import type { HttpMiddleware } from "./HttpMiddleware.js"
13
14
  import * as ServerError from "./HttpServerError.js"
14
15
  import * as ServerRequest from "./HttpServerRequest.js"
@@ -32,6 +33,8 @@ export type HttpApp<A = ServerResponse.HttpServerResponse, E = never, R = never>
32
33
  */
33
34
  export type Default<E = never, R = never> = HttpApp<ServerResponse.HttpServerResponse, E, R>
34
35
 
36
+ const handledSymbol = Symbol.for("@effect/platform/HttpApp/handled")
37
+
35
38
  /**
36
39
  * @since 1.0.0
37
40
  * @category combinators
@@ -45,53 +48,74 @@ export const toHandled = <E, R, _, EH, RH>(
45
48
  middleware?: HttpMiddleware | undefined
46
49
  ): Effect.Effect<void, never, Exclude<R | RH | ServerRequest.HttpServerRequest, Scope.Scope>> => {
47
50
  const responded = Effect.withFiberRuntime<
48
- void,
49
- never,
51
+ ServerResponse.HttpServerResponse,
52
+ E | EH | ServerError.ResponseError,
50
53
  R | RH | ServerRequest.HttpServerRequest
51
- >((fiber) => {
52
- let handled = false
53
- const request = Context.unsafeGet(fiber.getFiberRef(FiberRef.currentContext), ServerRequest.HttpServerRequest)
54
- const preprocessResponse = (response: ServerResponse.HttpServerResponse) => {
54
+ >((fiber) =>
55
+ Effect.flatMap(self, (response) => {
56
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest)
55
57
  const handler = fiber.getFiberRef(currentPreResponseHandlers)
56
- return handler._tag === "Some" ? handler.value(request, response) : Effect.succeed(response)
57
- }
58
- const responded = Effect.matchCauseEffect(self, {
59
- onFailure: (cause) =>
60
- Effect.flatMap(ServerError.causeResponse(cause), ([response, cause]) =>
61
- preprocessResponse(response).pipe(
62
- Effect.flatMap((response) => {
63
- handled = true
58
+ if (handler._tag === "None") {
59
+ ;(request as any)[handledSymbol] = true
60
+ return Effect.as(handleResponse(request, response), response)
61
+ }
62
+ return Effect.tap(handler.value(request, response), (response) => {
63
+ ;(request as any)[handledSymbol] = true
64
+ return handleResponse(request, response)
65
+ })
66
+ })
67
+ )
68
+
69
+ const withErrorHandling = Effect.catchAllCause(
70
+ responded,
71
+ (cause) =>
72
+ Effect.withFiberRuntime<
73
+ ServerResponse.HttpServerResponse,
74
+ E | EH | ServerError.ResponseError,
75
+ ServerRequest.HttpServerRequest | RH
76
+ >((fiber) =>
77
+ Effect.flatMap(ServerError.causeResponse(cause), ([response, cause]) => {
78
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest)
79
+ const handler = fiber.getFiberRef(currentPreResponseHandlers)
80
+ if (handler._tag === "None") {
81
+ ;(request as any)[handledSymbol] = true
82
+ return Effect.zipRight(handleResponse(request, response), Effect.failCause(cause))
83
+ }
84
+ return Effect.zipRight(
85
+ Effect.tap(handler.value(request, response), (response) => {
86
+ ;(request as any)[handledSymbol] = true
64
87
  return handleResponse(request, response)
65
88
  }),
66
- Effect.zipRight(Effect.failCause(cause))
67
- )),
68
- onSuccess: (response) =>
69
- Effect.tap(
70
- preprocessResponse(response),
71
- (response) => {
72
- handled = true
73
- return handleResponse(request, response)
74
- }
75
- )
76
- })
77
- const withTracer = internalMiddleware.tracer(responded)
78
- if (middleware === undefined) {
79
- return withTracer as any
80
- }
81
- return Effect.matchCauseEffect(middleware(withTracer), {
82
- onFailure: (cause): Effect.Effect<void, EH, RH> => {
83
- if (handled) {
84
- return Effect.void
85
- }
86
- return Effect.matchCauseEffect(ServerError.causeResponse(cause), {
87
- onFailure: (_cause) => handleResponse(request, ServerResponse.empty({ status: 500 })),
88
- onSuccess: ([response]) => handleResponse(request, response)
89
+ Effect.failCause(cause)
90
+ )
89
91
  })
90
- },
91
- onSuccess: (response): Effect.Effect<void, EH, RH> => handled ? Effect.void : handleResponse(request, response)
92
- })
93
- })
94
- return Effect.uninterruptible(Effect.scoped(responded))
92
+ )
93
+ )
94
+
95
+ const withMiddleware = unify(
96
+ middleware === undefined ?
97
+ internalMiddleware.tracer(withErrorHandling) :
98
+ Effect.matchCauseEffect(middleware(internalMiddleware.tracer(withErrorHandling)), {
99
+ onFailure: (cause): Effect.Effect<void, EH, RH> =>
100
+ Effect.withFiberRuntime((fiber) => {
101
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest)
102
+ if (handledSymbol in request) {
103
+ return Effect.void
104
+ }
105
+ return Effect.matchCauseEffect(ServerError.causeResponse(cause), {
106
+ onFailure: (_cause) => handleResponse(request, ServerResponse.empty({ status: 500 })),
107
+ onSuccess: ([response]) => handleResponse(request, response)
108
+ })
109
+ }),
110
+ onSuccess: (response): Effect.Effect<void, EH, RH> =>
111
+ Effect.withFiberRuntime((fiber) => {
112
+ const request = Context.unsafeGet(fiber.currentContext, ServerRequest.HttpServerRequest)
113
+ return handledSymbol in request ? Effect.void : handleResponse(request, response)
114
+ })
115
+ })
116
+ )
117
+
118
+ return Effect.uninterruptible(Effect.scoped(withMiddleware)) as any
95
119
  }
96
120
 
97
121
  /**