@effect/platform 0.87.6 → 0.87.8

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/README.md CHANGED
@@ -4868,8 +4868,14 @@ const GoodbyeRoute = HttpLayerRouter.use(
4868
4868
  )
4869
4869
  })
4870
4870
  )
4871
+ // Or use `HttpLayerRouter.add/addAll` for simple routes
4872
+ const SimpleRoute = HttpLayerRouter.add(
4873
+ "GET",
4874
+ "/simple",
4875
+ HttpServerResponse.text("Simply fantastic!")
4876
+ )
4871
4877
 
4872
- const AllRoutes = Layer.mergeAll(HelloRoute, GoodbyeRoute)
4878
+ const AllRoutes = Layer.mergeAll(HelloRoute, GoodbyeRoute, SimpleRoute)
4873
4879
 
4874
4880
  // To start the server, we use `HttpLayerRouter.serve` with the routes layer
4875
4881
  HttpLayerRouter.serve(AllRoutes).pipe(
@@ -4912,30 +4918,28 @@ const SessionMiddleware = HttpLayerRouter.middleware<{
4912
4918
  })
4913
4919
  )
4914
4920
 
4915
- // And here is a CORS middleware that modifies the HTTP response
4916
- const CorsMiddleware = HttpLayerRouter.middleware(HttpMiddleware.cors())
4921
+ // And here is an example of global middleware, that modifies the HTTP response.
4922
+ // Global middleware directly returns a `Layer`.
4923
+ const CorsMiddleware = HttpLayerRouter.middleware(HttpMiddleware.cors(), {
4924
+ global: true
4925
+ })
4917
4926
  // You can also use `HttpLayerRouter.cors()` to create a CORS middleware
4918
4927
 
4919
- const HelloRoute = Layer.effectDiscard(
4928
+ const HelloRoute = HttpLayerRouter.add(
4929
+ "GET",
4930
+ "/hello",
4920
4931
  Effect.gen(function* () {
4921
- const router = yield* HttpLayerRouter.HttpRouter
4922
- yield* router.add(
4923
- "GET",
4924
- "/hello",
4925
- Effect.gen(function* () {
4926
- // We can now access the `CurrentSession` service in our route handler
4927
- const session = yield* CurrentSession
4928
- return HttpServerResponse.text(
4929
- `Hello, World! Your session token is: ${session.token}`
4930
- )
4931
- })
4932
+ // We can now access the `CurrentSession` service in our route handler
4933
+ const session = yield* CurrentSession
4934
+ return HttpServerResponse.text(
4935
+ `Hello, World! Your session token is: ${session.token}`
4932
4936
  )
4933
4937
  })
4934
4938
  ).pipe(
4935
4939
  // We can provide the `SessionMiddleware.layer` to the `HelloRoute` layer
4936
4940
  Layer.provide(SessionMiddleware.layer),
4937
4941
  // And we can also provide the `CorsMiddleware` layer to handle CORS
4938
- Layer.provide(CorsMiddleware.layer)
4942
+ Layer.provide(CorsMiddleware)
4939
4943
  )
4940
4944
  ```
4941
4945
 
@@ -4987,18 +4991,13 @@ const LogMiddleware = HttpLayerRouter.middleware(
4987
4991
  // We can then use the .combine method to combine the middlewares
4988
4992
  const LogAndSessionMiddleware = LogMiddleware.combine(SessionMiddleware)
4989
4993
 
4990
- const HelloRoute = Layer.effectDiscard(
4994
+ const HelloRoute = HttpLayerRouter.add(
4995
+ "GET",
4996
+ "/hello",
4991
4997
  Effect.gen(function* () {
4992
- const router = yield* HttpLayerRouter.HttpRouter
4993
- yield* router.add(
4994
- "GET",
4995
- "/hello",
4996
- Effect.gen(function* () {
4997
- const session = yield* CurrentSession
4998
- return HttpServerResponse.text(
4999
- `Hello, World! Your session token is: ${session.token}`
5000
- )
5001
- })
4998
+ const session = yield* CurrentSession
4999
+ return HttpServerResponse.text(
5000
+ `Hello, World! Your session token is: ${session.token}`
5002
5001
  )
5003
5002
  })
5004
5003
  ).pipe(Layer.provide(LogAndSessionMiddleware.layer))
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "RouteContext", {
10
10
  return _HttpRouter.RouteContext;
11
11
  }
12
12
  });
13
- exports.middleware = exports.make = exports.layer = exports.cors = exports.addHttpApi = exports.TypeId = exports.RouterConfig = exports.RouteTypeId = void 0;
13
+ exports.middleware = exports.make = exports.layer = exports.disableLogger = exports.cors = exports.addHttpApi = exports.addAll = exports.add = exports.TypeId = exports.RouterConfig = exports.RouteTypeId = void 0;
14
14
  Object.defineProperty(exports, "params", {
15
15
  enumerable: true,
16
16
  get: function () {
@@ -57,7 +57,6 @@ var Tracer = _interopRequireWildcard(require("effect/Tracer"));
57
57
  var FindMyWay = _interopRequireWildcard(require("find-my-way-ts"));
58
58
  var _FindMyWay = FindMyWay;
59
59
  exports.FindMyWay = FindMyWay;
60
- var HttpApi = _interopRequireWildcard(require("./HttpApi.js"));
61
60
  var HttpApiBuilder = _interopRequireWildcard(require("./HttpApiBuilder.js"));
62
61
  var HttpMiddleware = _interopRequireWildcard(require("./HttpMiddleware.js"));
63
62
  var _HttpRouter = require("./HttpRouter.js");
@@ -90,6 +89,7 @@ const HttpRouter = exports.HttpRouter = /*#__PURE__*/Context.GenericTag("@effect
90
89
  */
91
90
  const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
92
91
  const router = FindMyWay.make(yield* RouterConfig);
92
+ const middleware = new Set();
93
93
  const addAll = routes => Effect.contextWith(context => {
94
94
  const middleware = getMiddleware(context);
95
95
  const applyMiddleware = effect => {
@@ -114,8 +114,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
114
114
  [TypeId]: TypeId,
115
115
  prefixed(prefix) {
116
116
  return HttpRouter.of({
117
- [TypeId]: TypeId,
118
- asHttpEffect: this.asHttpEffect,
117
+ ...this,
119
118
  prefixed: newPrefix => this.prefixed(prefixPath(prefix, newPrefix)),
120
119
  addAll: routes => addAll(routes.map(prefixRoute(prefix))),
121
120
  add: (method, path, handler, options) => addAll([makeRoute({
@@ -129,8 +128,11 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
129
128
  },
130
129
  addAll,
131
130
  add: (method, path, handler, options) => addAll([route(method, path, handler, options)]),
131
+ addGlobalMiddleware: middleware_ => Effect.sync(() => {
132
+ middleware.add(middleware_);
133
+ }),
132
134
  asHttpEffect() {
133
- return Effect.withFiberRuntime(fiber => {
135
+ let handler = Effect.withFiberRuntime(fiber => {
134
136
  const contextMap = new Map(fiber.currentContext.unsafeMap);
135
137
  const request = contextMap.get(HttpServerRequest.HttpServerRequest.key);
136
138
  let result = router.find(request.method, request.url);
@@ -158,6 +160,11 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
158
160
  }
159
161
  return Effect.locally(route.uninterruptible ? route.handler : Effect.interruptible(route.handler), FiberRef.currentContext, Context.unsafeMake(contextMap));
160
162
  });
163
+ if (middleware.size === 0) return handler;
164
+ for (const fn of Arr.reverse(middleware)) {
165
+ handler = fn(handler);
166
+ }
167
+ return handler;
161
168
  }
162
169
  });
163
170
  });
@@ -186,7 +193,7 @@ exports.RouterConfig = RouterConfig;
186
193
  * const MyRoute = Layer.scopedDiscard(Effect.gen(function*() {
187
194
  * const router = yield* HttpLayerRouter.HttpRouter
188
195
  *
189
- * // then use `router.add` to add a route
196
+ * // then use `yield* router.add(...)` to add a route
190
197
  * }))
191
198
  * ```
192
199
  *
@@ -195,10 +202,49 @@ exports.RouterConfig = RouterConfig;
195
202
  */
196
203
  const use = f => Layer.scopedDiscard(Effect.flatMap(HttpRouter, f));
197
204
  /**
205
+ * Create a layer that adds a single route to the HTTP router.
206
+ *
207
+ * ```ts
208
+ * import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
209
+ * import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
210
+ *
211
+ * const Route = HttpLayerRouter.add("GET", "/hello", HttpServerResponse.text("Hello, World!"))
212
+ * ```
213
+ *
198
214
  * @since 1.0.0
199
215
  * @category HttpRouter
200
216
  */
201
217
  exports.use = use;
218
+ const add = (method, path, handler, options) => use(router => router.add(method, path, handler, options));
219
+ /**
220
+ * Create a layer that adds multiple routes to the HTTP router.
221
+ *
222
+ * ```ts
223
+ * import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
224
+ * import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
225
+ *
226
+ * const Routes = HttpLayerRouter.addAll([
227
+ * HttpLayerRouter.route("GET", "/hello", HttpServerResponse.text("Hello, World!"))
228
+ * ])
229
+ * ```
230
+ *
231
+ * @since 1.0.0
232
+ * @category HttpRouter
233
+ */
234
+ exports.add = add;
235
+ const addAll = (routes, options) => Layer.scopedDiscard(Effect.gen(function* () {
236
+ const toAdd = Effect.isEffect(routes) ? yield* routes : routes;
237
+ let router = yield* HttpRouter;
238
+ if (options?.prefix) {
239
+ router = router.prefixed(options.prefix);
240
+ }
241
+ yield* router.addAll(toAdd);
242
+ }));
243
+ /**
244
+ * @since 1.0.0
245
+ * @category HttpRouter
246
+ */
247
+ exports.addAll = addAll;
202
248
  const layer = exports.layer = /*#__PURE__*/Layer.effect(HttpRouter, make);
203
249
  /**
204
250
  * @since 1.0.0
@@ -264,6 +310,11 @@ const MiddlewareTypeId = exports.MiddlewareTypeId = /*#__PURE__*/Symbol.for("@ef
264
310
  /**
265
311
  * Create a middleware layer that can be used to modify requests and responses.
266
312
  *
313
+ * By default, the middleware only affects the routes that it is provided to.
314
+ *
315
+ * If you want to create a middleware that applies globally to all routes, pass
316
+ * the `global` option as `true`.
317
+ *
267
318
  * ```ts
268
319
  * import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
269
320
  * import * as HttpMiddleware from "@effect/platform/HttpMiddleware"
@@ -319,10 +370,14 @@ const middleware = function () {
319
370
  if (arguments.length === 0) {
320
371
  return makeMiddleware;
321
372
  }
322
- return makeMiddleware(arguments[0]);
373
+ return makeMiddleware(arguments[0], arguments[1]);
323
374
  };
324
375
  exports.middleware = middleware;
325
- const makeMiddleware = middleware => new MiddlewareImpl(Effect.isEffect(middleware) ? Layer.scopedContext(Effect.map(middleware, fn => Context.unsafeMake(new Map([[fnContextKey, fn]])))) : Layer.succeedContext(Context.unsafeMake(new Map([[fnContextKey, middleware]]))));
376
+ const makeMiddleware = (middleware, options) => options?.global ? Layer.scopedDiscard(Effect.gen(function* () {
377
+ const router = yield* HttpRouter;
378
+ const fn = Effect.isEffect(middleware) ? yield* middleware : middleware;
379
+ yield* router.addGlobalMiddleware(fn);
380
+ })) : new MiddlewareImpl(Effect.isEffect(middleware) ? Layer.scopedContext(Effect.map(middleware, fn => Context.unsafeMake(new Map([[fnContextKey, fn]])))) : Layer.succeedContext(Context.unsafeMake(new Map([[fnContextKey, middleware]]))));
326
381
  let middlewareId = 0;
327
382
  const fnContextKey = "@effect/platform/HttpLayerRouter/MiddlewareFn";
328
383
  class MiddlewareImpl {
@@ -387,7 +442,28 @@ const getMiddleware = context => {
387
442
  * @since 1.0.0
388
443
  * @category Middleware
389
444
  */
390
- const cors = options => middleware(HttpMiddleware.cors(options)).layer;
445
+ const cors = options => middleware(HttpMiddleware.cors(options), {
446
+ global: true
447
+ });
448
+ /**
449
+ * A middleware that disables the logger for some routes.
450
+ *
451
+ * ```ts
452
+ * import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
453
+ * import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
454
+ * import * as Layer from "effect/Layer"
455
+ *
456
+ * const Route = HttpLayerRouter.add("GET", "/hello", HttpServerResponse.text("Hello, World!")).pipe(
457
+ * // disable the logger for this route
458
+ * Layer.provide(HttpLayerRouter.disableLogger)
459
+ * )
460
+ * ```
461
+ *
462
+ * @since 1.0.0
463
+ * @category Middleware
464
+ */
465
+ exports.cors = cors;
466
+ const disableLogger = exports.disableLogger = /*#__PURE__*/middleware(HttpMiddleware.withLoggerDisabled).layer;
391
467
  /**
392
468
  * ```ts
393
469
  * import * as NodeHttpServer from "@effect/platform-node/NodeHttpServer"
@@ -448,18 +524,11 @@ const cors = options => middleware(HttpMiddleware.cors(options)).layer;
448
524
  * @since 1.0.0
449
525
  * @category HttpApi
450
526
  */
451
- exports.cors = cors;
452
527
  const addHttpApi = (api, options) => {
453
528
  const ApiMiddleware = middleware(HttpApiBuilder.buildMiddleware(api)).layer;
454
529
  return HttpApiBuilder.Router.unwrap(Effect.fnUntraced(function* (router_) {
455
- const contextMap = new Map();
456
530
  const router = yield* HttpRouter;
457
531
  const routes = Arr.empty();
458
- const context = yield* Effect.context();
459
- contextMap.set(HttpApi.Api.key, {
460
- api,
461
- context
462
- });
463
532
  for (const route of router_.routes) {
464
533
  routes.push(makeRoute(route));
465
534
  }
@@ -468,8 +537,7 @@ const addHttpApi = (api, options) => {
468
537
  const spec = OpenApi.fromApi(api);
469
538
  yield* router.add("GET", options.openapiPath, Effect.succeed(HttpServerResponse.unsafeJson(spec)));
470
539
  }
471
- return Context.unsafeMake(contextMap);
472
- }, Layer.effectContext)).pipe(Layer.provide(ApiMiddleware));
540
+ }, Layer.effectDiscard)).pipe(Layer.provide(ApiMiddleware));
473
541
  };
474
542
  /**
475
543
  * Serves the provided application layer as an HTTP server.
@@ -488,7 +556,7 @@ const serve = (appLayer, options) => {
488
556
  const router = yield* HttpRouter;
489
557
  const handler = router.asHttpEffect();
490
558
  return middleware ? HttpServer.serve(handler, middleware) : HttpServer.serve(handler);
491
- }).pipe(Layer.unwrapScoped, options?.disableListenLog ? _Function.identity : HttpServer.withLogAddress, Layer.provide(appLayer), Layer.provide(RouterLayer));
559
+ }).pipe(Layer.unwrapScoped, Layer.provide(appLayer), Layer.provide(RouterLayer), options?.disableListenLog ? _Function.identity : HttpServer.withLogAddress);
492
560
  };
493
561
  exports.serve = serve;
494
562
  //# sourceMappingURL=HttpLayerRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpLayerRouter.js","names":["HttpServerRequest","_interopRequireWildcard","require","HttpServerResponse","Arr","Context","Effect","FiberRef","_Function","Layer","Option","Scope","Tracer","FindMyWay","_FindMyWay","exports","HttpApi","HttpApiBuilder","HttpMiddleware","_HttpRouter","HttpServer","HttpServerError","OpenApi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","Symbol","for","HttpRouter","GenericTag","make","gen","router","RouterConfig","addAll","routes","contextWith","context","middleware","getMiddleware","applyMiddleware","effect","length","route","makeRoute","handler","method","all","path","on","of","prefixed","prefix","asHttpEffect","newPrefix","prefixPath","map","prefixRoute","add","options","isEffect","flatMap","uninterruptible","some","withFiberRuntime","fiber","contextMap","Map","currentContext","unsafeMap","request","key","result","find","url","undefined","fail","RouteNotFound","_tag","sliceRequestUrl","value","ParsedSearchParams","searchParams","RouteContext","RouteContextTypeId","params","span","ParentSpan","attribute","locally","interruptible","unsafeMake","prefexLen","modify","slice","Reference","defaultValue","constant","use","scopedDiscard","layer","toHttpEffect","appLayer","scope","memoMap","CurrentMemoMap","buildWithMemoMap","provideMerge","RouteTypeId","none","removeTrailingSlash","endsWith","dual","self","match","onNone","onSome","existingPrefix","MiddlewareTypeId","arguments","makeMiddleware","MiddlewareImpl","scopedContext","fn","fnContextKey","succeedContext","middlewareId","layerFn","dependencies","constructor","contextKey","stack","depsContext","push","pipe","provide","combine","other","middlewareCache","arr","topLevel","empty","maxLength","startsWith","Set","fromIterable","reverse","cors","addHttpApi","api","ApiMiddleware","buildMiddleware","Router","unwrap","fnUntraced","router_","Api","openapiPath","spec","fromApi","succeed","unsafeJson","effectContext","serve","disableLogger","compose","logger","RouterLayer","routerConfig","unwrapScoped","disableListenLog","identity","withLogAddress"],"sources":["../../src/HttpLayerRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HttpLayerRouter.js","names":["HttpServerRequest","_interopRequireWildcard","require","HttpServerResponse","Arr","Context","Effect","FiberRef","_Function","Layer","Option","Scope","Tracer","FindMyWay","_FindMyWay","exports","HttpApiBuilder","HttpMiddleware","_HttpRouter","HttpServer","HttpServerError","OpenApi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","Symbol","for","HttpRouter","GenericTag","make","gen","router","RouterConfig","middleware","Set","addAll","routes","contextWith","context","getMiddleware","applyMiddleware","effect","length","route","makeRoute","handler","method","all","path","on","of","prefixed","prefix","newPrefix","prefixPath","map","prefixRoute","add","options","isEffect","flatMap","uninterruptible","some","addGlobalMiddleware","middleware_","sync","asHttpEffect","withFiberRuntime","fiber","contextMap","Map","currentContext","unsafeMap","request","key","result","find","url","undefined","fail","RouteNotFound","_tag","sliceRequestUrl","value","ParsedSearchParams","searchParams","RouteContext","RouteContextTypeId","params","span","ParentSpan","attribute","locally","interruptible","unsafeMake","size","fn","reverse","prefexLen","modify","slice","Reference","defaultValue","constant","use","scopedDiscard","toAdd","layer","toHttpEffect","appLayer","scope","memoMap","CurrentMemoMap","buildWithMemoMap","provideMerge","RouteTypeId","none","removeTrailingSlash","endsWith","dual","self","match","onNone","onSome","existingPrefix","MiddlewareTypeId","arguments","makeMiddleware","global","MiddlewareImpl","scopedContext","fnContextKey","succeedContext","middlewareId","layerFn","dependencies","constructor","contextKey","stack","depsContext","push","pipe","provide","combine","other","middlewareCache","arr","topLevel","empty","maxLength","startsWith","fromIterable","cors","disableLogger","withLoggerDisabled","addHttpApi","api","ApiMiddleware","buildMiddleware","Router","unwrap","fnUntraced","router_","openapiPath","spec","fromApi","succeed","unsafeJson","effectDiscard","serve","compose","logger","RouterLayer","routerConfig","unwrapScoped","disableListenLog","identity","withLogAddress"],"sources":["../../src/HttpLayerRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -172,7 +172,7 @@ const baseUrl = () => {
172
172
  * @category conversions
173
173
  */
174
174
  const toRecord = self => {
175
- const out = {};
175
+ const out = Object.create(null);
176
176
  for (const [k, value] of self) {
177
177
  const curr = out[k];
178
178
  if (curr === undefined) {
@@ -183,7 +183,9 @@ const toRecord = self => {
183
183
  curr.push(value);
184
184
  }
185
185
  }
186
- return out;
186
+ return {
187
+ ...out
188
+ };
187
189
  };
188
190
  /**
189
191
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"UrlParams.js","names":["Arr","_interopRequireWildcard","require","Either","_Function","Option","Schema","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fromInput","input","parsed","fromInputNested","out","length","Array","isArray","keys","value","push","slice","join","exports","entries","Symbol","iterator","fromIterable","key","undefined","String","nested","k","v","schemaFromSelf","Tuple","annotations","identifier","empty","getAll","dual","self","reduce","acc","getFirst","map","findFirst","getLast","findLast","append","filter","setAll","toSet","appendAll","includes","remove","makeUrl","url","params","hash","urlInstance","URL","baseUrl","searchParams","_tag","right","left","toString","URLSearchParams","globalThis","location","origin","pathname","toRecord","curr","schemaJson","schema","options","parse","decodeUnknown","parseJson","field","getOrElse","schemaStruct","schemaFromString","transform","decode","fromA","encode","toI","schemaRecord","schemaParse","compose"],"sources":["../../src/UrlParams.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"UrlParams.js","names":["Arr","_interopRequireWildcard","require","Either","_Function","Option","Schema","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fromInput","input","parsed","fromInputNested","out","length","Array","isArray","keys","value","push","slice","join","exports","entries","Symbol","iterator","fromIterable","key","undefined","String","nested","k","v","schemaFromSelf","Tuple","annotations","identifier","empty","getAll","dual","self","reduce","acc","getFirst","map","findFirst","getLast","findLast","append","filter","setAll","toSet","appendAll","includes","remove","makeUrl","url","params","hash","urlInstance","URL","baseUrl","searchParams","_tag","right","left","toString","URLSearchParams","globalThis","location","origin","pathname","toRecord","create","curr","schemaJson","schema","options","parse","decodeUnknown","parseJson","field","getOrElse","schemaStruct","schemaFromString","transform","decode","fromA","encode","toI","schemaRecord","schemaParse","compose"],"sources":["../../src/UrlParams.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ import * as Option from "effect/Option";
10
10
  import * as Scope from "effect/Scope";
11
11
  import type * as Types from "effect/Types";
12
12
  import * as FindMyWay from "find-my-way-ts";
13
- import * as HttpApi from "./HttpApi.js";
13
+ import type * as HttpApi from "./HttpApi.js";
14
14
  import type * as HttpApiGroup from "./HttpApiGroup.js";
15
15
  import type * as HttpMethod from "./HttpMethod.js";
16
16
  import { RouteContext } from "./HttpRouter.js";
@@ -42,6 +42,7 @@ export interface HttpRouter {
42
42
  readonly uninterruptible?: boolean | undefined;
43
43
  } | undefined) => Effect.Effect<void, never, Type.From<"Requires", Exclude<R, Provided>> | Type.From<"Error", E>>;
44
44
  readonly addAll: <const Routes extends ReadonlyArray<Route<any, any>>>(routes: Routes) => Effect.Effect<void, never, Type.From<"Requires", Exclude<Route.Context<Routes[number]>, Provided>> | Type.From<"Error", Route.Error<Routes[number]>>>;
45
+ readonly addGlobalMiddleware: <E, R>(middleware: ((effect: Effect.Effect<HttpServerResponse.HttpServerResponse, unhandled>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R>) & (unhandled extends E ? unknown : "You cannot handle any errors")) => Effect.Effect<void, never, Type.From<"GlobalRequires", Exclude<R, GlobalProvided>> | Type.From<"GlobalError", Exclude<E, unhandled>>>;
45
46
  readonly asHttpEffect: () => Effect.Effect<HttpServerResponse.HttpServerResponse, unknown, HttpServerRequest.HttpServerRequest | Scope.Scope>;
46
47
  }
47
48
  /**
@@ -103,7 +104,7 @@ schemaPathParams } from "./HttpRouter.js";
103
104
  * const MyRoute = Layer.scopedDiscard(Effect.gen(function*() {
104
105
  * const router = yield* HttpLayerRouter.HttpRouter
105
106
  *
106
- * // then use `router.add` to add a route
107
+ * // then use `yield* router.add(...)` to add a route
107
108
  * }))
108
109
  * ```
109
110
  *
@@ -111,6 +112,40 @@ schemaPathParams } from "./HttpRouter.js";
111
112
  * @category HttpRouter
112
113
  */
113
114
  export declare const use: <A, E, R>(f: (router: HttpRouter) => Effect.Effect<A, E, R>) => Layer.Layer<never, E, HttpRouter | Exclude<R, Scope.Scope>>;
115
+ /**
116
+ * Create a layer that adds a single route to the HTTP router.
117
+ *
118
+ * ```ts
119
+ * import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
120
+ * import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
121
+ *
122
+ * const Route = HttpLayerRouter.add("GET", "/hello", HttpServerResponse.text("Hello, World!"))
123
+ * ```
124
+ *
125
+ * @since 1.0.0
126
+ * @category HttpRouter
127
+ */
128
+ export declare const add: <E, R>(method: "*" | "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS", path: PathInput, handler: Effect.Effect<HttpServerResponse.HttpServerResponse, E, R> | ((request: HttpServerRequest.HttpServerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R>), options?: {
129
+ readonly uninterruptible?: boolean | undefined;
130
+ }) => Layer.Layer<never, never, HttpRouter | Type.From<"Requires", Exclude<R, Provided>> | Type.From<"Error", E>>;
131
+ /**
132
+ * Create a layer that adds multiple routes to the HTTP router.
133
+ *
134
+ * ```ts
135
+ * import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
136
+ * import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
137
+ *
138
+ * const Routes = HttpLayerRouter.addAll([
139
+ * HttpLayerRouter.route("GET", "/hello", HttpServerResponse.text("Hello, World!"))
140
+ * ])
141
+ * ```
142
+ *
143
+ * @since 1.0.0
144
+ * @category HttpRouter
145
+ */
146
+ export declare const addAll: <Routes extends ReadonlyArray<Route<any, any>>, EX = never, RX = never>(routes: Routes | Effect.Effect<Routes, EX, RX>, options?: {
147
+ readonly prefix?: string | undefined;
148
+ }) => Layer.Layer<never, EX, HttpRouter | Exclude<RX, Scope.Scope> | Type.From<"Requires", Exclude<Route.Context<Routes[number]>, Provided>> | Type.From<"Error", Route.Error<Routes[number]>>>;
114
149
  /**
115
150
  * @since 1.0.0
116
151
  * @category HttpRouter
@@ -120,7 +155,7 @@ export declare const layer: Layer.Layer<HttpRouter>;
120
155
  * @since 1.0.0
121
156
  * @category HttpRouter
122
157
  */
123
- export declare const toHttpEffect: <A, E, R>(appLayer: Layer.Layer<A, E, R>) => Effect.Effect<Effect.Effect<HttpServerResponse.HttpServerResponse, Type.Only<"Error", R> | HttpServerError.RouteNotFound, Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R>>, Type.Without<E>, Exclude<Type.Without<R>, HttpRouter> | Scope.Scope>;
158
+ export declare const toHttpEffect: <A, E, R>(appLayer: Layer.Layer<A, E, R>) => Effect.Effect<Effect.Effect<HttpServerResponse.HttpServerResponse, Type.Only<"Error", R> | Type.Only<"GlobalRequires", R> | HttpServerError.RouteNotFound, Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>>, Type.Without<E>, Exclude<Type.Without<R>, HttpRouter> | Scope.Scope>;
124
159
  /**
125
160
  * @since 1.0.0
126
161
  * @category Route
@@ -244,6 +279,13 @@ export declare namespace Type {
244
279
  * @category Request types
245
280
  */
246
281
  export type Provided = HttpServerRequest.HttpServerRequest | Scope.Scope | HttpServerRequest.ParsedSearchParams | RouteContext;
282
+ /**
283
+ * Services provided to global middleware.
284
+ *
285
+ * @since 1.0.0
286
+ * @category Request types
287
+ */
288
+ export type GlobalProvided = HttpServerRequest.HttpServerRequest | Scope.Scope;
247
289
  /**
248
290
  * @since 1.0.0
249
291
  * @category Middleware
@@ -277,7 +319,7 @@ export interface Middleware<Config extends {
277
319
  layerRequires: any;
278
320
  }> {
279
321
  readonly [MiddlewareTypeId]: Config;
280
- readonly layer: [Config["requires"]] extends [never] ? Layer.Layer<Type.From<"Requires", Config["provides"]>, Config["layerError"], Config["layerRequires"] | Type.From<"Requires", Config["requires"]>> : "Need to .combine(middleware) that satisfy the missing request dependencies";
322
+ readonly layer: [Config["requires"]] extends [never] ? Layer.Layer<Type.From<"Requires", Config["provides"]>, Config["layerError"], Config["layerRequires"] | Type.From<"Requires", Config["requires"]> | Type.From<"Error", Config["error"]>> : "Need to .combine(middleware) that satisfy the missing request dependencies";
281
323
  readonly combine: <Config2 extends {
282
324
  provides: any;
283
325
  handles: any;
@@ -297,6 +339,11 @@ export interface Middleware<Config extends {
297
339
  /**
298
340
  * Create a middleware layer that can be used to modify requests and responses.
299
341
  *
342
+ * By default, the middleware only affects the routes that it is provided to.
343
+ *
344
+ * If you want to create a middleware that applies globally to all routes, pass
345
+ * the `global` option as `true`.
346
+ *
300
347
  * ```ts
301
348
  * import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
302
349
  * import * as HttpMiddleware from "@effect/platform/HttpMiddleware"
@@ -366,7 +413,9 @@ export declare namespace middleware {
366
413
  * @category Middleware
367
414
  */
368
415
  type Make<Provides = never, Handles = never> = {
369
- <E, R, EX, RX>(middleware: Effect.Effect<(effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Types.NoInfer<Handles | unhandled>, Types.NoInfer<Provides>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R> & (unhandled extends E ? unknown : "You must only handle the configured errors"), EX, RX>): Middleware<{
416
+ <E, R, EX, RX, const Global extends boolean = false>(middleware: Effect.Effect<(effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Types.NoInfer<Handles | unhandled>, Types.NoInfer<Provides>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R> & (unhandled extends E ? unknown : "You must only handle the configured errors"), EX, RX>, options?: {
417
+ readonly global?: Global | undefined;
418
+ }): Global extends true ? Layer.Layer<Type.From<"Requires", Provides> | Type.From<"Error", Handles> | Type.From<"GlobalRequires", Provides> | Type.From<"GlobalError", Handles>, EX, HttpRouter | Exclude<RX, Scope.Scope> | Type.From<"GlobalRequires", Exclude<R, GlobalProvided>> | Type.From<"GlobalError", Exclude<E, unhandled>>> : Middleware<{
370
419
  provides: Provides;
371
420
  handles: Handles;
372
421
  error: Exclude<E, unhandled>;
@@ -374,7 +423,9 @@ export declare namespace middleware {
374
423
  layerError: EX;
375
424
  layerRequires: Exclude<RX, Scope.Scope>;
376
425
  }>;
377
- <E, R>(middleware: ((effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Types.NoInfer<Handles | unhandled>, Types.NoInfer<Provides>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R>) & (unhandled extends E ? unknown : "You must only handle the configured errors")): Middleware<{
426
+ <E, R, const Global extends boolean = false>(middleware: ((effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Types.NoInfer<Handles | unhandled>, Types.NoInfer<Provides>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R>) & (unhandled extends E ? unknown : "You must only handle the configured errors"), options?: {
427
+ readonly global?: Global | undefined;
428
+ }): Global extends true ? Layer.Layer<Type.From<"Requires", Provides> | Type.From<"Error", Handles> | Type.From<"GlobalRequires", Provides> | Type.From<"GlobalError", Handles>, never, HttpRouter | Type.From<"GlobalRequires", Exclude<R, GlobalProvided>> | Type.From<"GlobalError", Exclude<E, unhandled>>> : Middleware<{
378
429
  provides: Provides;
379
430
  handles: Handles;
380
431
  error: Exclude<E, unhandled>;
@@ -402,7 +453,25 @@ export declare const cors: (options?: {
402
453
  readonly exposedHeaders?: ReadonlyArray<string> | undefined;
403
454
  readonly maxAge?: number | undefined;
404
455
  readonly credentials?: boolean | undefined;
405
- } | undefined) => Layer.Layer<never>;
456
+ } | undefined) => Layer.Layer<never, never, HttpRouter>;
457
+ /**
458
+ * A middleware that disables the logger for some routes.
459
+ *
460
+ * ```ts
461
+ * import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
462
+ * import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
463
+ * import * as Layer from "effect/Layer"
464
+ *
465
+ * const Route = HttpLayerRouter.add("GET", "/hello", HttpServerResponse.text("Hello, World!")).pipe(
466
+ * // disable the logger for this route
467
+ * Layer.provide(HttpLayerRouter.disableLogger)
468
+ * )
469
+ * ```
470
+ *
471
+ * @since 1.0.0
472
+ * @category Middleware
473
+ */
474
+ export declare const disableLogger: Layer.Layer<never>;
406
475
  /**
407
476
  * ```ts
408
477
  * import * as NodeHttpServer from "@effect/platform-node/NodeHttpServer"
@@ -465,14 +534,14 @@ export declare const cors: (options?: {
465
534
  */
466
535
  export declare const addHttpApi: <Id extends string, Groups extends HttpApiGroup.HttpApiGroup.Any, E, R>(api: HttpApi.HttpApi<Id, Groups, E, R>, options?: {
467
536
  readonly openapiPath?: `/${string}` | undefined;
468
- }) => Layer.Layer<HttpApi.Api, never, HttpRouter | HttpApiGroup.HttpApiGroup.ToService<Id, Groups> | R | HttpApiGroup.HttpApiGroup.ErrorContext<Groups>>;
537
+ }) => Layer.Layer<never, never, HttpRouter | HttpApiGroup.HttpApiGroup.ToService<Id, Groups> | R | HttpApiGroup.HttpApiGroup.ErrorContext<Groups>>;
469
538
  /**
470
539
  * Serves the provided application layer as an HTTP server.
471
540
  *
472
541
  * @since 1.0.0
473
542
  * @category Server
474
543
  */
475
- export declare const serve: <A, E, R, HE, HR = Type.Only<"Requires", R>>(appLayer: Layer.Layer<A, E, R>, options?: {
544
+ export declare const serve: <A, E, R, HE, HR = Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>>(appLayer: Layer.Layer<A, E, R>, options?: {
476
545
  readonly routerConfig?: Partial<FindMyWay.RouterConfig> | undefined;
477
546
  readonly disableLogger?: boolean | undefined;
478
547
  readonly disableListenLog?: boolean;
@@ -487,6 +556,6 @@ export declare const serve: <A, E, R, HE, HR = Type.Only<"Requires", R>>(appLaye
487
556
  * Use HttpLayerRouter.middleware to create middleware that can modify the
488
557
  * response.
489
558
  */
490
- readonly middleware?: (effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Type.Only<"Error", R> | HttpServerError.RouteNotFound, Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, HE, HR>;
559
+ readonly middleware?: (effect: Effect.Effect<HttpServerResponse.HttpServerResponse, Type.Only<"Error", R> | Type.Only<"GlobalError", R> | HttpServerError.RouteNotFound, Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>>) => Effect.Effect<HttpServerResponse.HttpServerResponse, HE, HR>;
491
560
  }) => Layer.Layer<never, Type.Without<E>, HttpServer.HttpServer | Exclude<Type.Without<R> | Exclude<HR, Provided>, HttpRouter>>;
492
561
  //# sourceMappingURL=HttpLayerRouter.d.ts.map