@effect/platform 0.94.0 → 0.94.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.
@@ -57,6 +57,56 @@ const xForwardedHeaders = exports.xForwardedHeaders = internal.xForwardedHeaders
57
57
  */
58
58
  const searchParamsParser = exports.searchParamsParser = internal.searchParamsParser;
59
59
  /**
60
+ * Creates a CORS (Cross-Origin Resource Sharing) middleware for HTTP applications.
61
+ *
62
+ * @param options - CORS configuration options
63
+ * @param options.allowedOrigins - Origins allowed to access the resource. Can be:
64
+ * - An array of origin strings (e.g., `["https://example.com", "https://api.example.com"]`)
65
+ * - A predicate function to dynamically allow origins
66
+ * - If empty array (default): allows all origins with `Access-Control-Allow-Origin: *`
67
+ * @param options.allowedMethods - HTTP methods allowed for CORS requests.
68
+ * Default: `["GET", "HEAD", "PUT", "PATCH", "POST", "DELETE"]`
69
+ * @param options.allowedHeaders - Headers allowed in CORS requests. **Important behavior**:
70
+ * - If empty array (default): reflects back the client's `Access-Control-Request-Headers`,
71
+ * effectively allowing all headers requested by the client
72
+ * - If non-empty array: only the specified headers are allowed
73
+ * - This means the default behavior is permissive, not restrictive
74
+ * @param options.exposedHeaders - Headers exposed to the client in the response.
75
+ * Default: `[]`
76
+ * @param options.maxAge - Maximum time (in seconds) that preflight request results can be cached.
77
+ * If not specified, no `Access-Control-Max-Age` header is sent
78
+ * @param options.credentials - Whether to allow credentials (cookies, authorization headers, etc.).
79
+ * Default: `false`
80
+ *
81
+ * @example
82
+ * ```ts
83
+ * import { HttpMiddleware, HttpRouter, HttpServerResponse } from "@effect/platform"
84
+ *
85
+ * // Allow all origins and reflect requested headers (default behavior)
86
+ * HttpRouter.empty.pipe(
87
+ * HttpRouter.get("/", HttpServerResponse.empty()),
88
+ * HttpMiddleware.cors()
89
+ * )
90
+ *
91
+ * // Restrict to specific origins and headers
92
+ * HttpRouter.empty.pipe(
93
+ * HttpRouter.get("/", HttpServerResponse.empty()),
94
+ * HttpMiddleware.cors({
95
+ * allowedOrigins: ["https://example.com"],
96
+ * allowedHeaders: ["Content-Type", "Authorization"],
97
+ * credentials: true
98
+ * })
99
+ * )
100
+ *
101
+ * // Dynamic origin checking with predicate
102
+ * HttpRouter.empty.pipe(
103
+ * HttpRouter.get("/", HttpServerResponse.empty()),
104
+ * HttpMiddleware.cors({
105
+ * allowedOrigins: (origin) => origin.endsWith(".example.com")
106
+ * })
107
+ * )
108
+ * ```
109
+ *
60
110
  * @since 1.0.0
61
111
  * @category constructors
62
112
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HttpMiddleware.js","names":["internal","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","logger","loggerDisabled","withLoggerDisabled","currentTracerDisabledWhen","withTracerDisabledWhen","withTracerDisabledWhenEffect","withTracerDisabledForUrls","xForwardedHeaders","searchParamsParser","cors","SpanNameGenerator","withSpanNameGenerator"],"sources":["../../src/HttpMiddleware.ts"],"sourcesContent":[null],"mappings":";;;;;;AAUA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAwD,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAsBxD;;;;AAIO,MAAMkB,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAmDtB,QAAQ,CAACsB,IAAI;AAEjF;;;;AAIO,MAAME,MAAM,GAAAD,OAAA,CAAAC,MAAA,GAA4DxB,QAAQ,CAACwB,MAAM;AAE9F;;;;AAIO,MAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAA+BzB,QAAQ,CAACyB,cAAc;AAEjF;;;;AAIO,MAAMC,kBAAkB,GAAAH,OAAA,CAAAG,kBAAA,GAC7B1B,QAAQ,CAAC0B,kBAAkB;AAE7B;;;;AAIO,MAAMC,yBAAyB,GAAAJ,OAAA,CAAAI,yBAAA,GACpC3B,QAAQ,CAAC2B,yBAAyB;AAEpC;;;;AAIO,MAAMC,sBAAsB,GAAAL,OAAA,CAAAK,sBAAA,GAc/B5B,QAAQ,CAAC4B,sBAAsB;AAEnC;;;;AAIO,MAAMC,4BAA4B,GAAAN,OAAA,CAAAM,4BAAA,GAcrC7B,QAAQ,CAAC6B,4BAA4B;AAEzC;;;;AAIO,MAAMC,yBAAyB,GAAAP,OAAA,CAAAO,yBAAA,GAWlC9B,QAAQ,CAAC8B,yBAAyB;AAEtC;;;;AAIO,MAAMC,iBAAiB,GAAAR,OAAA,CAAAQ,iBAAA,GAA4D/B,QAAQ,CAAC+B,iBAAiB;AAEpH;;;;AAIO,MAAMC,kBAAkB,GAAAT,OAAA,CAAAS,kBAAA,GAK3BhC,QAAQ,CAACgC,kBAAkB;AAE/B;;;;AAIO,MAAMC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAS8CjC,QAAQ,CAACiC,IAAI;AAU5E;;;;AAIO,MAAMC,iBAAiB,GAAAX,OAAA,CAAAW,iBAAA,GAG1BlC,QAAQ,CAACkC,iBAAiB;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAMC,qBAAqB,GAAAZ,OAAA,CAAAY,qBAAA,GA8D9BnC,QAAQ,CAACmC,qBAAqB","ignoreList":[]}
1
+ {"version":3,"file":"HttpMiddleware.js","names":["internal","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","logger","loggerDisabled","withLoggerDisabled","currentTracerDisabledWhen","withTracerDisabledWhen","withTracerDisabledWhenEffect","withTracerDisabledForUrls","xForwardedHeaders","searchParamsParser","cors","SpanNameGenerator","withSpanNameGenerator"],"sources":["../../src/HttpMiddleware.ts"],"sourcesContent":[null],"mappings":";;;;;;AAUA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAwD,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAsBxD;;;;AAIO,MAAMkB,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAmDtB,QAAQ,CAACsB,IAAI;AAEjF;;;;AAIO,MAAME,MAAM,GAAAD,OAAA,CAAAC,MAAA,GAA4DxB,QAAQ,CAACwB,MAAM;AAE9F;;;;AAIO,MAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAA+BzB,QAAQ,CAACyB,cAAc;AAEjF;;;;AAIO,MAAMC,kBAAkB,GAAAH,OAAA,CAAAG,kBAAA,GAC7B1B,QAAQ,CAAC0B,kBAAkB;AAE7B;;;;AAIO,MAAMC,yBAAyB,GAAAJ,OAAA,CAAAI,yBAAA,GACpC3B,QAAQ,CAAC2B,yBAAyB;AAEpC;;;;AAIO,MAAMC,sBAAsB,GAAAL,OAAA,CAAAK,sBAAA,GAc/B5B,QAAQ,CAAC4B,sBAAsB;AAEnC;;;;AAIO,MAAMC,4BAA4B,GAAAN,OAAA,CAAAM,4BAAA,GAcrC7B,QAAQ,CAAC6B,4BAA4B;AAEzC;;;;AAIO,MAAMC,yBAAyB,GAAAP,OAAA,CAAAO,yBAAA,GAWlC9B,QAAQ,CAAC8B,yBAAyB;AAEtC;;;;AAIO,MAAMC,iBAAiB,GAAAR,OAAA,CAAAQ,iBAAA,GAA4D/B,QAAQ,CAAC+B,iBAAiB;AAEpH;;;;AAIO,MAAMC,kBAAkB,GAAAT,OAAA,CAAAS,kBAAA,GAK3BhC,QAAQ,CAACgC,kBAAkB;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDO,MAAMC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAS8CjC,QAAQ,CAACiC,IAAI;AAU5E;;;;AAIO,MAAMC,iBAAiB,GAAAX,OAAA,CAAAW,iBAAA,GAG1BlC,QAAQ,CAACkC,iBAAiB;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAMC,qBAAqB,GAAAZ,OAAA,CAAAY,qBAAA,GA8D9BnC,QAAQ,CAACmC,qBAAqB","ignoreList":[]}
@@ -178,10 +178,11 @@ const fromWeb = response => {
178
178
  cookies: Cookies.fromSetCookie(setCookieHeaders)
179
179
  });
180
180
  if (response.body) {
181
+ const contentType = headers.get("content-type");
181
182
  self = setBody(self, Body.stream(Stream.fromReadableStream({
182
183
  evaluate: () => response.body,
183
184
  onError: e => e
184
- })));
185
+ }), contentType ?? undefined));
185
186
  }
186
187
  return self;
187
188
  };
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServerResponse.js","names":["Stream","_interopRequireWildcard","require","Cookies","Body","internal","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","isServerResponse","empty","redirect","uint8Array","text","html","htmlStream","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","removeCookie","expireCookie","replaceCookies","setCookie","unsafeSetCookie","updateCookies","mergeCookies","setCookies","unsafeSetCookies","setBody","setStatus","toWeb","fromWeb","response","headers","globalThis","Headers","setCookieHeaders","getSetCookie","delete","self","status","statusText","cookies","fromSetCookie","body","fromReadableStream","evaluate","onError"],"sources":["../../src/HttpServerResponse.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpServerResponse.js","names":["Stream","_interopRequireWildcard","require","Cookies","Body","internal","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","isServerResponse","empty","redirect","uint8Array","text","html","htmlStream","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","removeCookie","expireCookie","replaceCookies","setCookie","unsafeSetCookie","updateCookies","mergeCookies","setCookies","unsafeSetCookies","setBody","setStatus","toWeb","fromWeb","response","headers","globalThis","Headers","setCookieHeaders","getSetCookie","delete","self","status","statusText","cookies","fromSetCookie","body","contentType","fromReadableStream","evaluate","onError","undefined"],"sources":["../../src/HttpServerResponse.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -110,6 +110,56 @@ export declare const xForwardedHeaders: <E, R>(httpApp: App.Default<E, R>) => Ap
110
110
  */
111
111
  export declare const searchParamsParser: <E, R>(httpApp: App.Default<E, R>) => App.Default<E, Exclude<R, ServerRequest.ParsedSearchParams>>;
112
112
  /**
113
+ * Creates a CORS (Cross-Origin Resource Sharing) middleware for HTTP applications.
114
+ *
115
+ * @param options - CORS configuration options
116
+ * @param options.allowedOrigins - Origins allowed to access the resource. Can be:
117
+ * - An array of origin strings (e.g., `["https://example.com", "https://api.example.com"]`)
118
+ * - A predicate function to dynamically allow origins
119
+ * - If empty array (default): allows all origins with `Access-Control-Allow-Origin: *`
120
+ * @param options.allowedMethods - HTTP methods allowed for CORS requests.
121
+ * Default: `["GET", "HEAD", "PUT", "PATCH", "POST", "DELETE"]`
122
+ * @param options.allowedHeaders - Headers allowed in CORS requests. **Important behavior**:
123
+ * - If empty array (default): reflects back the client's `Access-Control-Request-Headers`,
124
+ * effectively allowing all headers requested by the client
125
+ * - If non-empty array: only the specified headers are allowed
126
+ * - This means the default behavior is permissive, not restrictive
127
+ * @param options.exposedHeaders - Headers exposed to the client in the response.
128
+ * Default: `[]`
129
+ * @param options.maxAge - Maximum time (in seconds) that preflight request results can be cached.
130
+ * If not specified, no `Access-Control-Max-Age` header is sent
131
+ * @param options.credentials - Whether to allow credentials (cookies, authorization headers, etc.).
132
+ * Default: `false`
133
+ *
134
+ * @example
135
+ * ```ts
136
+ * import { HttpMiddleware, HttpRouter, HttpServerResponse } from "@effect/platform"
137
+ *
138
+ * // Allow all origins and reflect requested headers (default behavior)
139
+ * HttpRouter.empty.pipe(
140
+ * HttpRouter.get("/", HttpServerResponse.empty()),
141
+ * HttpMiddleware.cors()
142
+ * )
143
+ *
144
+ * // Restrict to specific origins and headers
145
+ * HttpRouter.empty.pipe(
146
+ * HttpRouter.get("/", HttpServerResponse.empty()),
147
+ * HttpMiddleware.cors({
148
+ * allowedOrigins: ["https://example.com"],
149
+ * allowedHeaders: ["Content-Type", "Authorization"],
150
+ * credentials: true
151
+ * })
152
+ * )
153
+ *
154
+ * // Dynamic origin checking with predicate
155
+ * HttpRouter.empty.pipe(
156
+ * HttpRouter.get("/", HttpServerResponse.empty()),
157
+ * HttpMiddleware.cors({
158
+ * allowedOrigins: (origin) => origin.endsWith(".example.com")
159
+ * })
160
+ * )
161
+ * ```
162
+ *
113
163
  * @since 1.0.0
114
164
  * @category constructors
115
165
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HttpMiddleware.d.ts","sourceRoot":"","sources":["../../src/HttpMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpMiddleware.d.ts","sourceRoot":"","sources":["../../src/HttpMiddleware.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServerResponse.d.ts","sourceRoot":"","sources":["../../src/HttpServerResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpServerResponse.d.ts","sourceRoot":"","sources":["../../src/HttpServerResponse.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,56 @@ export const xForwardedHeaders = internal.xForwardedHeaders;
50
50
  */
51
51
  export const searchParamsParser = internal.searchParamsParser;
52
52
  /**
53
+ * Creates a CORS (Cross-Origin Resource Sharing) middleware for HTTP applications.
54
+ *
55
+ * @param options - CORS configuration options
56
+ * @param options.allowedOrigins - Origins allowed to access the resource. Can be:
57
+ * - An array of origin strings (e.g., `["https://example.com", "https://api.example.com"]`)
58
+ * - A predicate function to dynamically allow origins
59
+ * - If empty array (default): allows all origins with `Access-Control-Allow-Origin: *`
60
+ * @param options.allowedMethods - HTTP methods allowed for CORS requests.
61
+ * Default: `["GET", "HEAD", "PUT", "PATCH", "POST", "DELETE"]`
62
+ * @param options.allowedHeaders - Headers allowed in CORS requests. **Important behavior**:
63
+ * - If empty array (default): reflects back the client's `Access-Control-Request-Headers`,
64
+ * effectively allowing all headers requested by the client
65
+ * - If non-empty array: only the specified headers are allowed
66
+ * - This means the default behavior is permissive, not restrictive
67
+ * @param options.exposedHeaders - Headers exposed to the client in the response.
68
+ * Default: `[]`
69
+ * @param options.maxAge - Maximum time (in seconds) that preflight request results can be cached.
70
+ * If not specified, no `Access-Control-Max-Age` header is sent
71
+ * @param options.credentials - Whether to allow credentials (cookies, authorization headers, etc.).
72
+ * Default: `false`
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * import { HttpMiddleware, HttpRouter, HttpServerResponse } from "@effect/platform"
77
+ *
78
+ * // Allow all origins and reflect requested headers (default behavior)
79
+ * HttpRouter.empty.pipe(
80
+ * HttpRouter.get("/", HttpServerResponse.empty()),
81
+ * HttpMiddleware.cors()
82
+ * )
83
+ *
84
+ * // Restrict to specific origins and headers
85
+ * HttpRouter.empty.pipe(
86
+ * HttpRouter.get("/", HttpServerResponse.empty()),
87
+ * HttpMiddleware.cors({
88
+ * allowedOrigins: ["https://example.com"],
89
+ * allowedHeaders: ["Content-Type", "Authorization"],
90
+ * credentials: true
91
+ * })
92
+ * )
93
+ *
94
+ * // Dynamic origin checking with predicate
95
+ * HttpRouter.empty.pipe(
96
+ * HttpRouter.get("/", HttpServerResponse.empty()),
97
+ * HttpMiddleware.cors({
98
+ * allowedOrigins: (origin) => origin.endsWith(".example.com")
99
+ * })
100
+ * )
101
+ * ```
102
+ *
53
103
  * @since 1.0.0
54
104
  * @category constructors
55
105
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HttpMiddleware.js","names":["internal","make","logger","loggerDisabled","withLoggerDisabled","currentTracerDisabledWhen","withTracerDisabledWhen","withTracerDisabledWhenEffect","withTracerDisabledForUrls","xForwardedHeaders","searchParamsParser","cors","SpanNameGenerator","withSpanNameGenerator"],"sources":["../../src/HttpMiddleware.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,8BAA8B;AAsBxD;;;;AAIA,OAAO,MAAMC,IAAI,GAAmDD,QAAQ,CAACC,IAAI;AAEjF;;;;AAIA,OAAO,MAAMC,MAAM,GAA4DF,QAAQ,CAACE,MAAM;AAE9F;;;;AAIA,OAAO,MAAMC,cAAc,GAA+BH,QAAQ,CAACG,cAAc;AAEjF;;;;AAIA,OAAO,MAAMC,kBAAkB,GAC7BJ,QAAQ,CAACI,kBAAkB;AAE7B;;;;AAIA,OAAO,MAAMC,yBAAyB,GACpCL,QAAQ,CAACK,yBAAyB;AAEpC;;;;AAIA,OAAO,MAAMC,sBAAsB,GAc/BN,QAAQ,CAACM,sBAAsB;AAEnC;;;;AAIA,OAAO,MAAMC,4BAA4B,GAcrCP,QAAQ,CAACO,4BAA4B;AAEzC;;;;AAIA,OAAO,MAAMC,yBAAyB,GAWlCR,QAAQ,CAACQ,yBAAyB;AAEtC;;;;AAIA,OAAO,MAAMC,iBAAiB,GAA4DT,QAAQ,CAACS,iBAAiB;AAEpH;;;;AAIA,OAAO,MAAMC,kBAAkB,GAK3BV,QAAQ,CAACU,kBAAkB;AAE/B;;;;AAIA,OAAO,MAAMC,IAAI,GAS8CX,QAAQ,CAACW,IAAI;AAU5E;;;;AAIA,OAAO,MAAMC,iBAAiB,GAG1BZ,QAAQ,CAACY,iBAAiB;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,OAAO,MAAMC,qBAAqB,GA8D9Bb,QAAQ,CAACa,qBAAqB","ignoreList":[]}
1
+ {"version":3,"file":"HttpMiddleware.js","names":["internal","make","logger","loggerDisabled","withLoggerDisabled","currentTracerDisabledWhen","withTracerDisabledWhen","withTracerDisabledWhenEffect","withTracerDisabledForUrls","xForwardedHeaders","searchParamsParser","cors","SpanNameGenerator","withSpanNameGenerator"],"sources":["../../src/HttpMiddleware.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,8BAA8B;AAsBxD;;;;AAIA,OAAO,MAAMC,IAAI,GAAmDD,QAAQ,CAACC,IAAI;AAEjF;;;;AAIA,OAAO,MAAMC,MAAM,GAA4DF,QAAQ,CAACE,MAAM;AAE9F;;;;AAIA,OAAO,MAAMC,cAAc,GAA+BH,QAAQ,CAACG,cAAc;AAEjF;;;;AAIA,OAAO,MAAMC,kBAAkB,GAC7BJ,QAAQ,CAACI,kBAAkB;AAE7B;;;;AAIA,OAAO,MAAMC,yBAAyB,GACpCL,QAAQ,CAACK,yBAAyB;AAEpC;;;;AAIA,OAAO,MAAMC,sBAAsB,GAc/BN,QAAQ,CAACM,sBAAsB;AAEnC;;;;AAIA,OAAO,MAAMC,4BAA4B,GAcrCP,QAAQ,CAACO,4BAA4B;AAEzC;;;;AAIA,OAAO,MAAMC,yBAAyB,GAWlCR,QAAQ,CAACQ,yBAAyB;AAEtC;;;;AAIA,OAAO,MAAMC,iBAAiB,GAA4DT,QAAQ,CAACS,iBAAiB;AAEpH;;;;AAIA,OAAO,MAAMC,kBAAkB,GAK3BV,QAAQ,CAACU,kBAAkB;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,OAAO,MAAMC,IAAI,GAS8CX,QAAQ,CAACW,IAAI;AAU5E;;;;AAIA,OAAO,MAAMC,iBAAiB,GAG1BZ,QAAQ,CAACY,iBAAiB;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,OAAO,MAAMC,qBAAqB,GA8D9Bb,QAAQ,CAACa,qBAAqB","ignoreList":[]}
@@ -171,10 +171,11 @@ export const fromWeb = response => {
171
171
  cookies: Cookies.fromSetCookie(setCookieHeaders)
172
172
  });
173
173
  if (response.body) {
174
+ const contentType = headers.get("content-type");
174
175
  self = setBody(self, Body.stream(Stream.fromReadableStream({
175
176
  evaluate: () => response.body,
176
177
  onError: e => e
177
- })));
178
+ }), contentType ?? undefined));
178
179
  }
179
180
  return self;
180
181
  };
@@ -1 +1 @@
1
- {"version":3,"file":"HttpServerResponse.js","names":["Stream","Cookies","Body","internal","TypeId","Symbol","for","isServerResponse","empty","redirect","uint8Array","text","html","htmlStream","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","removeCookie","expireCookie","replaceCookies","setCookie","unsafeSetCookie","updateCookies","mergeCookies","setCookies","unsafeSetCookies","setBody","setStatus","toWeb","fromWeb","response","headers","globalThis","Headers","setCookieHeaders","getSetCookie","delete","self","status","statusText","cookies","fromSetCookie","body","fromReadableStream","evaluate","onError","e"],"sources":["../../src/HttpServerResponse.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpServerResponse.js","names":["Stream","Cookies","Body","internal","TypeId","Symbol","for","isServerResponse","empty","redirect","uint8Array","text","html","htmlStream","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","removeCookie","expireCookie","replaceCookies","setCookie","unsafeSetCookie","updateCookies","mergeCookies","setCookies","unsafeSetCookies","setBody","setStatus","toWeb","fromWeb","response","headers","globalThis","Headers","setCookieHeaders","getSetCookie","delete","self","status","statusText","cookies","fromSetCookie","body","contentType","get","fromReadableStream","evaluate","onError","e","undefined"],"sources":["../../src/HttpServerResponse.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.94.0",
3
+ "version": "0.94.1",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -16,7 +16,7 @@
16
16
  "multipasta": "^0.2.7"
17
17
  },
18
18
  "peerDependencies": {
19
- "effect": "^3.19.13"
19
+ "effect": "^3.19.14"
20
20
  },
21
21
  "publishConfig": {
22
22
  "provenance": true
@@ -137,6 +137,56 @@ export const searchParamsParser: <E, R>(
137
137
  > = internal.searchParamsParser
138
138
 
139
139
  /**
140
+ * Creates a CORS (Cross-Origin Resource Sharing) middleware for HTTP applications.
141
+ *
142
+ * @param options - CORS configuration options
143
+ * @param options.allowedOrigins - Origins allowed to access the resource. Can be:
144
+ * - An array of origin strings (e.g., `["https://example.com", "https://api.example.com"]`)
145
+ * - A predicate function to dynamically allow origins
146
+ * - If empty array (default): allows all origins with `Access-Control-Allow-Origin: *`
147
+ * @param options.allowedMethods - HTTP methods allowed for CORS requests.
148
+ * Default: `["GET", "HEAD", "PUT", "PATCH", "POST", "DELETE"]`
149
+ * @param options.allowedHeaders - Headers allowed in CORS requests. **Important behavior**:
150
+ * - If empty array (default): reflects back the client's `Access-Control-Request-Headers`,
151
+ * effectively allowing all headers requested by the client
152
+ * - If non-empty array: only the specified headers are allowed
153
+ * - This means the default behavior is permissive, not restrictive
154
+ * @param options.exposedHeaders - Headers exposed to the client in the response.
155
+ * Default: `[]`
156
+ * @param options.maxAge - Maximum time (in seconds) that preflight request results can be cached.
157
+ * If not specified, no `Access-Control-Max-Age` header is sent
158
+ * @param options.credentials - Whether to allow credentials (cookies, authorization headers, etc.).
159
+ * Default: `false`
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * import { HttpMiddleware, HttpRouter, HttpServerResponse } from "@effect/platform"
164
+ *
165
+ * // Allow all origins and reflect requested headers (default behavior)
166
+ * HttpRouter.empty.pipe(
167
+ * HttpRouter.get("/", HttpServerResponse.empty()),
168
+ * HttpMiddleware.cors()
169
+ * )
170
+ *
171
+ * // Restrict to specific origins and headers
172
+ * HttpRouter.empty.pipe(
173
+ * HttpRouter.get("/", HttpServerResponse.empty()),
174
+ * HttpMiddleware.cors({
175
+ * allowedOrigins: ["https://example.com"],
176
+ * allowedHeaders: ["Content-Type", "Authorization"],
177
+ * credentials: true
178
+ * })
179
+ * )
180
+ *
181
+ * // Dynamic origin checking with predicate
182
+ * HttpRouter.empty.pipe(
183
+ * HttpRouter.get("/", HttpServerResponse.empty()),
184
+ * HttpMiddleware.cors({
185
+ * allowedOrigins: (origin) => origin.endsWith(".example.com")
186
+ * })
187
+ * )
188
+ * ```
189
+ *
140
190
  * @since 1.0.0
141
191
  * @category constructors
142
192
  */
@@ -508,12 +508,16 @@ export const fromWeb = (response: Response): HttpServerResponse => {
508
508
  cookies: Cookies.fromSetCookie(setCookieHeaders)
509
509
  })
510
510
  if (response.body) {
511
+ const contentType = headers.get("content-type")
511
512
  self = setBody(
512
513
  self,
513
- Body.stream(Stream.fromReadableStream({
514
- evaluate: () => response.body!,
515
- onError: (e) => e
516
- }))
514
+ Body.stream(
515
+ Stream.fromReadableStream({
516
+ evaluate: () => response.body!,
517
+ onError: (e) => e
518
+ }),
519
+ contentType ?? undefined
520
+ )
517
521
  )
518
522
  }
519
523
  return self