@effect-app/infra 2.64.5 → 2.65.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 2.65.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 55da9e7: improve: Router supports contextProvider through middleware, replacing flawed requestLayers
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [55da9e7]
12
+ - effect-app@2.44.0
13
+
14
+ ## 2.64.6
15
+
16
+ ### Patch Changes
17
+
18
+ - 0e0c962: router: fix missing R retrieval in generators
19
+
3
20
  ## 2.64.5
4
21
 
5
22
  ### Patch Changes
@@ -17,7 +17,7 @@ export const checkJWTI = (config) => {
17
17
  || err instanceof UnauthorizedError) {
18
18
  return cb(Effect.fail(err));
19
19
  }
20
- return Effect.die(err);
20
+ return cb(Effect.die(err));
21
21
  };
22
22
  const r = { headers: req.headers, query: {}, body: {}, is: () => false }; // is("urlencoded")
23
23
  try {
@@ -44,4 +44,4 @@ export const checkJwt = (config) => {
44
44
  };
45
45
  export class JWTError extends Data.TaggedClass("JWTError") {
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvaW50ZXJuYWwvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDcEcsT0FBTyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBT25JLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQzFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN2QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFBO1FBRXRELE9BQU8sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FJeEIsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNMLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxHQUFHO29CQUFFLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDaEMsSUFDRSxHQUFHLFlBQVksc0JBQXNCO3VCQUNsQyxHQUFHLFlBQVksbUJBQW1CO3VCQUNsQyxHQUFHLFlBQVksaUJBQWlCO3VCQUNoQyxHQUFHLFlBQVksaUJBQWlCLEVBQ25DLENBQUM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUM3QixDQUFDO2dCQUNELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN4QixDQUFDLENBQUE7WUFDRCxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUEsQ0FBQyxtQkFBbUI7WUFDNUYsSUFBSSxDQUFDO2dCQUNILEVBQUUsQ0FBQyxDQUFRLEVBQUUsRUFBUyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQy9CLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMxQixDQUFDO1FBQ0gsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMvQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUNsQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN2RCxNQUFNLENBQUMsT0FBTyxDQUNaLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ2hCLE9BQU8sRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDMUMsQ0FBQyxDQUNILENBQ0YsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUNuQixDQUFDLENBQUMsQ0FDSCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxPQUFPLFFBQVMsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FNdkQ7Q0FBRyJ9
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvaW50ZXJuYWwvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDcEcsT0FBTyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBT25JLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQzFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUN2QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3pCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFBO1FBRXRELE9BQU8sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FJeEIsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUNMLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBYSxFQUFFLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxHQUFHO29CQUFFLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDaEMsSUFDRSxHQUFHLFlBQVksc0JBQXNCO3VCQUNsQyxHQUFHLFlBQVksbUJBQW1CO3VCQUNsQyxHQUFHLFlBQVksaUJBQWlCO3VCQUNoQyxHQUFHLFlBQVksaUJBQWlCLEVBQ25DLENBQUM7b0JBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUM3QixDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUM1QixDQUFDLENBQUE7WUFDRCxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUEsQ0FBQyxtQkFBbUI7WUFDNUYsSUFBSSxDQUFDO2dCQUNILEVBQUUsQ0FBQyxDQUFRLEVBQUUsRUFBUyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQy9CLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMxQixDQUFDO1FBQ0gsQ0FBQyxDQUNGLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQWMsRUFBRSxFQUFFO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMvQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUNsQixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUN2RCxNQUFNLENBQUMsT0FBTyxDQUNaLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ2hCLE9BQU8sRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7U0FDMUMsQ0FBQyxDQUNILENBQ0YsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUNuQixDQUFDLENBQUMsQ0FDSCxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxPQUFPLFFBQVMsU0FBUSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FNdkQ7Q0FBRyJ9
@@ -7,7 +7,6 @@ export declare const accessLog: (level?: "Info" | "Warning" | "Debug") => <E, R>
7
7
  export declare const uuidLogAnnotation: (logAnnotationKey?: string) => <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<ServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
8
8
  export declare const endpointCallsMetric: () => <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<ServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
9
9
  export declare const errorLog: <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<ServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
10
- export declare const toServerResponse: (err: NotLoggedInError) => ServerResponse.HttpServerResponse;
11
10
  export declare const basicAuth: <_, R>(checkCredentials: (credentials: Middlewares.BasicAuthCredentials) => Effect<_, NotLoggedInError, R>, options?: Partial<{
12
11
  headerName: string;
13
12
  skipPaths: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../src/api/internal/middlewares.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,KAAK,iBAAiB,MAAM,oCAAoC,CAAA;AACvE,OAAO,KAAK,cAAc,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AASnC,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,SAAS,GAAI,QAAO,MAAM,GAAG,SAAS,GAAG,OAAgB,kKAOnE,CAAA;AAEH,eAAO,MAAM,iBAAiB,GAAI,yBAA8B,kKAY7D,CAAA;AAEH,eAAO,MAAM,mBAAmB,qKAe/B,CAAA;AAED,eAAO,MAAM,QAAQ,+JAsBpB,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,KAAK,gBAAgB,sCAInD,CAAA;AAEH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAC5B,kBAAkB,CAChB,WAAW,EAAE,WAAW,CAAC,oBAAoB,KAC1C,MAAM,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EACnC,UAAU,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAC7B,CAAC,4KAkED,CAAA;AAEH,eAAO,MAAM,IAAI,GAAI,WAAW,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,kKAuH/D,CAAA"}
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../src/api/internal/middlewares.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,KAAK,iBAAiB,MAAM,oCAAoC,CAAA;AACvE,OAAO,KAAK,cAAc,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AASnC,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,SAAS,GAAI,QAAO,MAAM,GAAG,SAAS,GAAG,OAAgB,kKAOnE,CAAA;AAEH,eAAO,MAAM,iBAAiB,GAAI,yBAA8B,kKAY7D,CAAA;AAEH,eAAO,MAAM,mBAAmB,qKAe/B,CAAA;AAED,eAAO,MAAM,QAAQ,+JAkBpB,CAAA;AAQD,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,EAC5B,kBAAkB,CAChB,WAAW,EAAE,WAAW,CAAC,oBAAoB,KAC1C,MAAM,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,EACnC,UAAU,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAC7B,CAAC,4KA+DD,CAAA;AAEH,eAAO,MAAM,IAAI,GAAI,WAAW,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,kKAsH/D,CAAA"}
@@ -21,30 +21,30 @@ export const accessLog = (level = "Info") => Middleware.make((app) => pipe(HttpS
21
21
  export const uuidLogAnnotation = (logAnnotationKey = "requestId") => Middleware.make((app) => pipe(Effect.sync(() => crypto.randomUUID()), Effect.flatMap((uuid) => FiberRef.update(FiberRef.currentLogAnnotations, HashMap.set(logAnnotationKey, uuid))), Effect.flatMap(() => app)));
22
22
  export const endpointCallsMetric = () => {
23
23
  const endpointCalledCounter = Metric.counter("server.endpoint_calls");
24
- return Middleware.make((app) => Effect.gen(function* (_) {
25
- const request = yield* _(HttpServerRequest.HttpServerRequest);
26
- yield* _(Metric.increment(endpointCalledCounter), Effect.tagMetrics("path", request.url));
27
- return yield* _(app);
24
+ return Middleware.make((app) => Effect.gen(function* () {
25
+ const request = yield* (HttpServerRequest.HttpServerRequest);
26
+ yield* pipe(Metric.increment(endpointCalledCounter), Effect.tagMetrics("path", request.url));
27
+ return yield* app;
28
28
  }));
29
29
  };
30
- export const errorLog = Middleware.make((app) => Effect.gen(function* (_) {
31
- const request = yield* _(HttpServerRequest.HttpServerRequest);
32
- const response = yield* _(app);
30
+ export const errorLog = Middleware.make((app) => Effect.gen(function* () {
31
+ const request = yield* HttpServerRequest.HttpServerRequest;
32
+ const response = yield* app;
33
33
  if (response.status >= 400 && response.status < 500) {
34
- yield* _(InfraLogger.logWarning(`${request.method.toUpperCase()} ${request.url} client error ${response.status}`));
34
+ yield* InfraLogger.logWarning(`${request.method.toUpperCase()} ${request.url} client error ${response.status}`);
35
35
  }
36
36
  else if (response.status >= 500) {
37
- yield* _(InfraLogger.logError(`${request.method.toUpperCase()} ${request.url} server error ${response.status}`));
37
+ yield* InfraLogger.logError(`${request.method.toUpperCase()} ${request.url} server error ${response.status}`);
38
38
  }
39
39
  return response;
40
40
  }));
41
- export const toServerResponse = (err) => HttpServerResponse.empty().pipe(HttpServerResponse.setStatus(401), HttpServerResponse.setBody(HttpBody.unsafeJson({ message: err.message })));
42
- export const basicAuth = (checkCredentials, options) => Middleware.make((app) => Effect.gen(function* (_) {
41
+ const toServerResponse = (err) => HttpServerResponse.empty().pipe(HttpServerResponse.setStatus(401), HttpServerResponse.setBody(HttpBody.unsafeJson({ message: err.message })));
42
+ export const basicAuth = (checkCredentials, options) => Middleware.make((app) => Effect.gen(function* () {
43
43
  const headerName = options?.headerName ?? "Authorization";
44
44
  const skippedPaths = options?.skipPaths ?? [];
45
- const request = yield* _(HttpServerRequest.HttpServerRequest);
45
+ const request = yield* HttpServerRequest.HttpServerRequest;
46
46
  if (skippedPaths.includes(request.url)) {
47
- return yield* _(app);
47
+ return yield* app;
48
48
  }
49
49
  const authHeader = request.headers[headerName.toLowerCase()];
50
50
  if (authHeader === undefined) {
@@ -63,14 +63,14 @@ export const basicAuth = (checkCredentials, options) => Middleware.make((app) =>
63
63
  if (credentialsParts.length !== 2) {
64
64
  return toServerResponse(new NotLoggedInError("Incorrect basic auth credentials format. Expected base64 encoded \"<user>:<pass>\"."));
65
65
  }
66
- const check = yield* _(checkCredentials({
66
+ const check = yield* Effect.either(checkCredentials({
67
67
  user: credentialsParts[0],
68
68
  password: credentialsParts[1]
69
- }), Effect.either);
69
+ }));
70
70
  if (Either.isLeft(check)) {
71
71
  return toServerResponse(check.left);
72
72
  }
73
- return yield* _(app);
73
+ return yield* app;
74
74
  }));
75
75
  export const cors = (_options) => {
76
76
  const DEFAULTS = {
@@ -85,14 +85,11 @@ export const cors = (_options) => {
85
85
  return options.allowedOrigins.includes(origin);
86
86
  };
87
87
  const allowOrigin = (originHeader) => {
88
- if (options.allowedOrigins.length === 0) {
88
+ if (options.allowedOrigins.includes("*")) {
89
89
  return { "Access-Control-Allow-Origin": "*" };
90
90
  }
91
- if (options.allowedOrigins.length === 1) {
92
- return {
93
- "Access-Control-Allow-Origin": options.allowedOrigins[0],
94
- Vary: "Origin"
95
- };
91
+ if (options.allowedOrigins.length === 0) {
92
+ return { "Access-Control-Allow-Origin": "*" };
96
93
  }
97
94
  if (isAllowedOrigin(originHeader)) {
98
95
  return {
@@ -117,13 +114,15 @@ export const cors = (_options) => {
117
114
  return undefined;
118
115
  })();
119
116
  const allowHeaders = (accessControlRequestHeaders) => {
117
+ if (!options.allowedOrigins)
118
+ return undefined;
120
119
  if (options.allowedHeaders.length === 0 && accessControlRequestHeaders) {
121
120
  return {
122
121
  Vary: "Access-Control-Request-Headers",
123
122
  "Access-Control-Allow-Headers": accessControlRequestHeaders
124
123
  };
125
124
  }
126
- if (options.allowedHeaders) {
125
+ if (options.allowedHeaders.length) {
127
126
  return {
128
127
  "Access-Control-Allow-Headers": options.allowedHeaders.join(",")
129
128
  };
@@ -144,8 +143,8 @@ export const cors = (_options) => {
144
143
  }
145
144
  return undefined;
146
145
  })();
147
- return Middleware.make((app) => Effect.gen(function* (_) {
148
- const request = yield* _(HttpServerRequest.HttpServerRequest);
146
+ return Middleware.make((app) => Effect.gen(function* () {
147
+ const request = yield* HttpServerRequest.HttpServerRequest;
149
148
  const origin = request.headers["origin"];
150
149
  const accessControlRequestHeaders = request.headers["access-control-request-headers"];
151
150
  let corsHeaders = {
@@ -162,8 +161,8 @@ export const cors = (_options) => {
162
161
  };
163
162
  return ServerResponse.empty({ status: 204, headers: HttpHeaders.fromInput(dropUndefined(corsHeaders)) });
164
163
  }
165
- const response = yield* _(app);
164
+ const response = yield* app;
166
165
  return response.pipe(ServerResponse.setHeaders(dropUndefined(corsHeaders)));
167
166
  }));
168
167
  };
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2ludGVybmFsL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUVoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUMzRCxPQUFPLEtBQUssVUFBVSxNQUFNLGlDQUFpQyxDQUFBO0FBQzdELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN2RSxPQUFPLEtBQUssY0FBYyxNQUFNLHFDQUFxQyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDaEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFHN0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBc0MsTUFBTSxFQUFFLEVBQUUsQ0FDeEUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ3RCLElBQUksQ0FDRixpQkFBaUIsQ0FBQyxpQkFBaUIsRUFDbkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFB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
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2ludGVybmFsL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUVoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUMzRCxPQUFPLEtBQUssVUFBVSxNQUFNLGlDQUFpQyxDQUFBO0FBQzdELE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN2RSxPQUFPLEtBQUssY0FBYyxNQUFNLHFDQUFxQyxDQUFBO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDaEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUE7QUFDdkMsT0FBTyxLQUFLLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDdEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQTtBQUN6QyxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFHN0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBc0MsTUFBTSxFQUFFLEVBQUUsQ0FDeEUsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ3RCLElBQUksQ0FDRixpQkFBaUIsQ0FBQyxpQkFBaUIsRUFDbkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFDdEYsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FDMUIsQ0FDRixDQUFBO0FBRUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLEVBQUUsRUFBRSxDQUNsRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDdEIsSUFBSSxDQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN0QixRQUFRLENBQUMsTUFBTSxDQUNiLFFBQVEsQ0FBQyxxQkFBcUIsRUFDOUIsT0FBTyxDQUFDLEdBQUcsQ0FBa0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQ3JELENBQ0YsRUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUMxQixDQUNGLENBQUE7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7SUFDdEMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUE7SUFFckUsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDN0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFDbEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBRTVELEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDVCxNQUFNLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLEVBQ3ZDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FDdkMsQ0FBQTtRQUVELE9BQU8sS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFBO0lBQ25CLENBQUMsQ0FBQyxDQUNILENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzlDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO0lBQ2xCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFBO0lBRTFELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQTtJQUUzQixJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDcEQsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FDM0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLGlCQUFpQixRQUFRLENBQUMsTUFBTSxFQUFFLENBQ2pGLENBQUE7SUFDSCxDQUFDO1NBQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQ3pCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxPQUFPLENBQUMsR0FBRyxpQkFBaUIsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUNqRixDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUMsQ0FBQyxDQUNILENBQUE7QUFFRCxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBcUIsRUFBRSxFQUFFLENBQ2pELGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FDN0Isa0JBQWtCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUNqQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUMxRSxDQUFBO0FBRUgsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQ3ZCLGdCQUVtQyxFQUNuQyxPQUdFLEVBQ0YsRUFBRSxDQUNGLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUN0QixNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUNsQixNQUFNLFVBQVUsR0FBRyxPQUFPLEVBQUUsVUFBVSxJQUFJLGVBQWUsQ0FBQTtJQUN6RCxNQUFNLFlBQVksR0FBRyxPQUFPLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQTtJQUM3QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQTtJQUUxRCxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdkMsT0FBTyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUE7SUFDbkIsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7SUFFNUQsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDN0IsT0FBTyxnQkFBZ0IsQ0FDckIsSUFBSSxnQkFBZ0IsQ0FDbEIsbUJBQW1CLFVBQVUsRUFBRSxDQUNoQyxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRWhELElBQUksa0JBQWtCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sZ0JBQWdCLENBQ3JCLElBQUksZ0JBQWdCLENBQ2xCLGlFQUFpRSxDQUNsRSxDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxPQUFPLGdCQUFnQixDQUNyQixJQUFJLGdCQUFnQixDQUNsQix1REFBdUQsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FDaEYsQ0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUN2RSxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRW5ELElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sZ0JBQWdCLENBQ3JCLElBQUksZ0JBQWdCLENBQ2xCLHFGQUFxRixDQUN0RixDQUNGLENBQUE7SUFDSCxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNsRCxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUU7S0FDL0IsQ0FBQyxDQUFDLENBQUE7SUFFSCxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUE7QUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtBQUVILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLFFBQTJDLEVBQUUsRUFBRTtJQUNsRSxNQUFNLFFBQVEsR0FBRztRQUNmLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNyQixjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztRQUNqRSxjQUFjLEVBQUUsRUFBRTtRQUNsQixjQUFjLEVBQUUsRUFBRTtRQUNsQixXQUFXLEVBQUUsS0FBSztLQUNWLENBQUE7SUFFVixNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUE7SUFFNUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtRQUN6QyxPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2hELENBQUMsQ0FBQTtJQUVELE1BQU0sV0FBVyxHQUFHLENBQUMsWUFBb0IsRUFBRSxFQUFFO1FBQzNDLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsR0FBRyxFQUFFLENBQUE7UUFDL0MsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEdBQUcsRUFBRSxDQUFBO1FBQy9DLENBQUM7UUFFRCxJQUFJLGVBQWUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU87Z0JBQ0wsNkJBQTZCLEVBQUUsWUFBWTtnQkFDM0MsSUFBSSxFQUFFLFFBQVE7YUFDZixDQUFBO1FBQ0gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUMsQ0FBQTtJQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxFQUFFO1FBQ3pCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTztnQkFDTCw4QkFBOEIsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDbEUsQ0FBQTtRQUNILENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRUosTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUM3QixJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxFQUFFLENBQUE7UUFDdkQsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFSixNQUFNLFlBQVksR0FBRyxDQUFDLDJCQUErQyxFQUFFLEVBQUU7UUFDdkUsSUFBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjO1lBQUUsT0FBTyxTQUFTLENBQUE7UUFFNUMsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksMkJBQTJCLEVBQUUsQ0FBQztZQUN2RSxPQUFPO2dCQUNMLElBQUksRUFBRSxnQ0FBZ0M7Z0JBQ3RDLDhCQUE4QixFQUFFLDJCQUEyQjthQUM1RCxDQUFBO1FBQ0gsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxPQUFPO2dCQUNMLDhCQUE4QixFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNqRSxDQUFBO1FBQ0gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUMsQ0FBQTtJQUVELE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBRyxFQUFFO1FBQzFCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTztnQkFDTCwrQkFBK0IsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7YUFDbEUsQ0FBQTtRQUNILENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDLENBQUMsRUFBRSxDQUFBO0lBRUosTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQTtRQUNoRSxDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUVKLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixDQUFBO1FBRTFELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDeEMsTUFBTSwyQkFBMkIsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLENBQUE7UUFFckYsSUFBSSxXQUFXLEdBQUc7WUFDaEIsR0FBRyxXQUFXLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUM1QixHQUFHLGdCQUFnQjtZQUNuQixHQUFHLGFBQWE7U0FDakIsQ0FBQTtRQUVELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxXQUFXLEdBQUc7Z0JBQ1osR0FBRyxXQUFXO2dCQUNkLEdBQUcsWUFBWTtnQkFDZixHQUFHLFlBQVksQ0FBQywyQkFBMkIsQ0FBQztnQkFDNUMsR0FBRyxNQUFNO2FBQ1YsQ0FBQTtZQUVELE9BQU8sY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzFHLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUE7UUFFM0IsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUM3RSxDQUFDLENBQUMsQ0FDSCxDQUFBO0FBQ0gsQ0FBQyxDQUFBIn0=
@@ -1,19 +1,24 @@
1
- import { type Array, Effect, type Layer, type Request, type S } from "effect-app";
1
+ import { type Array, type Context, Effect, type Layer, type Request, type S } from "effect-app";
2
2
  import type { RPCContextMap } from "effect-app/client/req";
3
3
  import type * as EffectRequest from "effect/Request";
4
- export interface Middleware<Context, CTXMap extends Record<string, RPCContextMap.Any>, R, Layers extends Array<Layer.Layer.Any>> {
4
+ export type RPCHandlerFactory<CTXMap extends Record<string, RPCContextMap.Any>> = <T extends {
5
+ config?: Partial<Record<keyof CTXMap, any>>;
6
+ }, Req extends S.TaggedRequest.All, R>(schema: T & S.Schema<Req, any, never>, handler: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, R>, moduleName?: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req>, any>;
7
+ export type ContextProviderOut<RRet> = Effect<Context.Context<RRet>> & {
8
+ _tag: "ContextMaker";
9
+ };
10
+ export interface Middleware<MiddlewareContext, CTXMap extends Record<string, RPCContextMap.Any>, R, Layers extends Array<Layer.Layer.Any>, CtxId, RRet, RErr, RCtx> {
5
11
  dependencies?: Layers;
6
12
  contextMap: CTXMap;
7
- context: Context;
8
- execute: Effect<(<T extends {
9
- config?: {
10
- [K in keyof CTXMap]?: any;
11
- };
12
- }, Req extends S.TaggedRequest.All, R>(schema: T & S.Schema<Req, any, never>, handler: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, R>, moduleName?: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req>, any>), never, R>;
13
+ context: MiddlewareContext;
14
+ contextProvider: Context.Tag<CtxId, ContextProviderOut<RRet>> & {
15
+ Default: Layer.Layer<CtxId, RErr, RCtx>;
16
+ };
17
+ execute: Effect<RPCHandlerFactory<CTXMap>, never, R>;
13
18
  }
14
- export declare const makeRpc: <Context, CTXMap extends Record<string, RPCContextMap.Any>, R, Layers extends Array<Layer.Layer.Any>>(middleware: Middleware<Context, CTXMap, R, Layers>) => Effect.Effect<{
19
+ export declare const makeRpc: <Context, CTXMap extends Record<string, RPCContextMap.Any>, R, Layers extends Array<Layer.Layer.Any>, CtxId, RRet, RErr, RCtx>(middleware: Middleware<Context, CTXMap, R, Layers, CtxId, RRet, RErr, RCtx>) => Effect.Effect<{
15
20
  effect: <T extends {
16
- config?: { [K in keyof CTXMap]?: any; };
17
- }, Req extends S.TaggedRequest.All, R_1>(schema: T & S.Schema<Req, any, never>, handler: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, R_1>, moduleName?: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req>, any>;
18
- }, never, R>;
21
+ config?: Partial<Record<keyof CTXMap, any>>;
22
+ }, Req extends S.TaggedRequest.All, R_1>(schema: T & S.Schema<Req, any, never>, handler: (request: Req, headers: any) => Effect.Effect<EffectRequest.Request.Success<Req>, EffectRequest.Request.Error<Req>, R_1>, moduleName?: string) => (req: Req, headers: any) => Effect.Effect<Request.Request.Success<Req>, Request.Request.Error<Req>, Exclude<any, RRet>>;
23
+ }, never, R | CtxId>;
19
24
  //# sourceMappingURL=DynamicMiddleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicMiddleware.d.ts","sourceRoot":"","sources":["../../../src/api/routing/DynamicMiddleware.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,YAAY,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,KAAK,KAAK,aAAa,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,UAAU,CACzB,OAAO,EACP,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAChD,CAAC,EACD,MAAM,SAAS,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IAErC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,EACb,CACE,CAAC,SAAS;QACR,MAAM,CAAC,EAAE;aAAG,CAAC,IAAI,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG;SAAE,CAAA;KACvC,EACD,GAAG,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,EAC/B,CAAC,EAED,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EACrC,OAAO,EAAE,CACP,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,KACT,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAC3F,UAAU,CAAC,EAAE,MAAM,KAChB,CACH,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,GAAG,KACT,MAAM,CAAC,MAAM,CAChB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAC5B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAC1B,GAAG,CACJ,GACD,KAAK,EACL,CAAC,CACF,CAAA;CACF;AAED,eAAO,MAAM,OAAO,GAClB,OAAO,EACP,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAChD,CAAC,EACD,MAAM,SAAS,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAErC,YAAY,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC;aAGvC,CAAC,SAAS;QAAE,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,MAAM,CAAC,CAAC,EAAE,GAAG,GAAE,CAAA;KAAE,EAAE,GAAG,SAAS,CAAC,CAAC,aAAa,CAAC,GAAG,eACpF,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,WAC5B,CACP,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,KACT,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAClC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAChC,GAAC,CACF,eACY,MAAM,WAGN,GAAG,WAAW,GAAG;YAK9B,CAAA"}
1
+ {"version":3,"file":"DynamicMiddleware.d.ts","sourceRoot":"","sources":["../../../src/api/routing/DynamicMiddleware.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,19 @@
2
2
  /* eslint-disable @typescript-eslint/no-unsafe-return */
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
4
  import { Effect } from "effect-app";
5
- export const makeRpc = (middleware) => middleware.execute.pipe(Effect.map((execute) => ({
5
+ export const makeRpc = (middleware) => Effect
6
+ .all({
7
+ execute: middleware.execute,
8
+ contextProvider: middleware.contextProvider
9
+ })
10
+ .pipe(Effect.map(({ contextProvider, execute }) => ({
6
11
  effect: (schema, handler, moduleName) => {
7
12
  const h = execute(schema, handler, moduleName);
8
- return (req, headers) => h(req, headers).pipe(Effect.uninterruptible // TODO: make this depend on query/command, and consider if middleware also should be affected or not.
9
- );
13
+ return (req, headers) => Effect.gen(function* () {
14
+ const ctx = yield* contextProvider;
15
+ return yield* h(req, headers).pipe(Effect.provide(ctx), Effect.uninterruptible // TODO: make this depend on query/command, and consider if middleware also should be affected or not.
16
+ );
17
+ });
10
18
  }
11
19
  })));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvRHluYW1pY01pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUFjLE1BQU0sRUFBb0MsTUFBTSxZQUFZLENBQUE7QUF3Q2pGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQU1yQixVQUFrRCxFQUNsRCxFQUFFLENBQ0YsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMvQyxNQUFNLEVBQUUsQ0FDTixNQUFxQyxFQUNyQyxPQU9DLEVBQ0QsVUFBbUIsRUFDbkIsRUFBRTtRQUNGLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFBO1FBQzlDLE9BQU8sQ0FBQyxHQUFRLEVBQUUsT0FBWSxFQUFFLEVBQUUsQ0FDaEMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2xCLE1BQU0sQ0FBQyxlQUFlLENBQUMsc0dBQXNHO1NBQzlILENBQUE7SUFDTCxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUMsQ0FBQSJ9
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL3JvdXRpbmcvRHluYW1pY01pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELHdEQUF3RDtBQUN4RCx1REFBdUQ7QUFDdkQsT0FBTyxFQUE0QixNQUFNLEVBQW9DLE1BQU0sWUFBWSxDQUFBO0FBb0QvRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FVckIsVUFBMkUsRUFDM0UsRUFBRSxDQUNGLE1BQU07S0FDSCxHQUFHLENBQUM7SUFDSCxPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU87SUFDM0IsZUFBZSxFQUFFLFVBQVUsQ0FBQyxlQUFlO0NBQzVDLENBQUM7S0FDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sRUFBRSxDQUNOLE1BQXFDLEVBQ3JDLE9BT0MsRUFDRCxVQUFtQixFQUNuQixFQUFFO1FBQ0YsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUE7UUFDOUMsT0FBTyxDQUFDLEdBQVEsRUFBRSxPQUFZLEVBQUUsRUFBRSxDQUNoQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNsQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxlQUFlLENBQUE7WUFDbEMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFDbkIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxzR0FBc0c7YUFDOUgsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFDLENBQUEifQ==