@effect/platform 0.87.7 → 0.87.9
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 +39 -3
- package/dist/cjs/HttpLayerRouter.js +65 -8
- package/dist/cjs/HttpLayerRouter.js.map +1 -1
- package/dist/dts/HttpLayerRouter.d.ts +54 -9
- package/dist/dts/HttpLayerRouter.d.ts.map +1 -1
- package/dist/esm/HttpLayerRouter.js +63 -7
- package/dist/esm/HttpLayerRouter.js.map +1 -1
- package/package.json +1 -1
- package/src/HttpLayerRouter.ts +213 -43
package/README.md
CHANGED
|
@@ -4918,8 +4918,11 @@ const SessionMiddleware = HttpLayerRouter.middleware<{
|
|
|
4918
4918
|
})
|
|
4919
4919
|
)
|
|
4920
4920
|
|
|
4921
|
-
// And here is
|
|
4922
|
-
|
|
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
|
+
})
|
|
4923
4926
|
// You can also use `HttpLayerRouter.cors()` to create a CORS middleware
|
|
4924
4927
|
|
|
4925
4928
|
const HelloRoute = HttpLayerRouter.add(
|
|
@@ -4936,7 +4939,7 @@ const HelloRoute = HttpLayerRouter.add(
|
|
|
4936
4939
|
// We can provide the `SessionMiddleware.layer` to the `HelloRoute` layer
|
|
4937
4940
|
Layer.provide(SessionMiddleware.layer),
|
|
4938
4941
|
// And we can also provide the `CorsMiddleware` layer to handle CORS
|
|
4939
|
-
Layer.provide(CorsMiddleware
|
|
4942
|
+
Layer.provide(CorsMiddleware)
|
|
4940
4943
|
)
|
|
4941
4944
|
```
|
|
4942
4945
|
|
|
@@ -5095,3 +5098,36 @@ HttpLayerRouter.serve(RpcRoute).pipe(
|
|
|
5095
5098
|
NodeRuntime.runMain
|
|
5096
5099
|
)
|
|
5097
5100
|
```
|
|
5101
|
+
|
|
5102
|
+
## Create a web handler
|
|
5103
|
+
|
|
5104
|
+
```ts
|
|
5105
|
+
import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
5106
|
+
import * as HttpServerResponse from "@effect/platform/HttpServerResponse"
|
|
5107
|
+
import * as Effect from "effect/Effect"
|
|
5108
|
+
|
|
5109
|
+
const HelloRoute = HttpLayerRouter.use(
|
|
5110
|
+
Effect.fn(function*(router) {
|
|
5111
|
+
yield* router.add(
|
|
5112
|
+
"GET",
|
|
5113
|
+
"/hello",
|
|
5114
|
+
HttpServerResponse.text("Hellow, World!")
|
|
5115
|
+
)
|
|
5116
|
+
})
|
|
5117
|
+
)
|
|
5118
|
+
|
|
5119
|
+
const { dispose, handler } = HttpLayerRouter.toWebHandler(HelloRoute)
|
|
5120
|
+
|
|
5121
|
+
// When the process is interrupted, we want to clean up resources
|
|
5122
|
+
process.on("SIGINT", () => {
|
|
5123
|
+
dispose()
|
|
5124
|
+
.then(() => {
|
|
5125
|
+
process.exit(0)
|
|
5126
|
+
}, () => {
|
|
5127
|
+
process.exit(1)
|
|
5128
|
+
})
|
|
5129
|
+
})
|
|
5130
|
+
|
|
5131
|
+
// Use the handler in your server setup
|
|
5132
|
+
export { handler }
|
|
5133
|
+
```
|
|
@@ -42,7 +42,7 @@ Object.defineProperty(exports, "schemaPathParams", {
|
|
|
42
42
|
return _HttpRouter.schemaPathParams;
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
|
-
exports.use = exports.toHttpEffect = exports.serve = void 0;
|
|
45
|
+
exports.use = exports.toWebHandler = exports.toHttpEffect = exports.serve = void 0;
|
|
46
46
|
var HttpServerRequest = _interopRequireWildcard(require("@effect/platform/HttpServerRequest"));
|
|
47
47
|
var HttpServerResponse = _interopRequireWildcard(require("@effect/platform/HttpServerResponse"));
|
|
48
48
|
var Arr = _interopRequireWildcard(require("effect/Array"));
|
|
@@ -51,6 +51,7 @@ var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
|
51
51
|
var FiberRef = _interopRequireWildcard(require("effect/FiberRef"));
|
|
52
52
|
var _Function = require("effect/Function");
|
|
53
53
|
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
54
|
+
var ManagedRuntime = _interopRequireWildcard(require("effect/ManagedRuntime"));
|
|
54
55
|
var Option = _interopRequireWildcard(require("effect/Option"));
|
|
55
56
|
var Scope = _interopRequireWildcard(require("effect/Scope"));
|
|
56
57
|
var Tracer = _interopRequireWildcard(require("effect/Tracer"));
|
|
@@ -58,6 +59,7 @@ var FindMyWay = _interopRequireWildcard(require("find-my-way-ts"));
|
|
|
58
59
|
var _FindMyWay = FindMyWay;
|
|
59
60
|
exports.FindMyWay = FindMyWay;
|
|
60
61
|
var HttpApiBuilder = _interopRequireWildcard(require("./HttpApiBuilder.js"));
|
|
62
|
+
var HttpApp = _interopRequireWildcard(require("./HttpApp.js"));
|
|
61
63
|
var HttpMiddleware = _interopRequireWildcard(require("./HttpMiddleware.js"));
|
|
62
64
|
var _HttpRouter = require("./HttpRouter.js");
|
|
63
65
|
var HttpServer = _interopRequireWildcard(require("./HttpServer.js"));
|
|
@@ -89,6 +91,7 @@ const HttpRouter = exports.HttpRouter = /*#__PURE__*/Context.GenericTag("@effect
|
|
|
89
91
|
*/
|
|
90
92
|
const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
91
93
|
const router = FindMyWay.make(yield* RouterConfig);
|
|
94
|
+
const middleware = new Set();
|
|
92
95
|
const addAll = routes => Effect.contextWith(context => {
|
|
93
96
|
const middleware = getMiddleware(context);
|
|
94
97
|
const applyMiddleware = effect => {
|
|
@@ -113,8 +116,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
113
116
|
[TypeId]: TypeId,
|
|
114
117
|
prefixed(prefix) {
|
|
115
118
|
return HttpRouter.of({
|
|
116
|
-
|
|
117
|
-
asHttpEffect: this.asHttpEffect,
|
|
119
|
+
...this,
|
|
118
120
|
prefixed: newPrefix => this.prefixed(prefixPath(prefix, newPrefix)),
|
|
119
121
|
addAll: routes => addAll(routes.map(prefixRoute(prefix))),
|
|
120
122
|
add: (method, path, handler, options) => addAll([makeRoute({
|
|
@@ -128,8 +130,11 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
128
130
|
},
|
|
129
131
|
addAll,
|
|
130
132
|
add: (method, path, handler, options) => addAll([route(method, path, handler, options)]),
|
|
133
|
+
addGlobalMiddleware: middleware_ => Effect.sync(() => {
|
|
134
|
+
middleware.add(middleware_);
|
|
135
|
+
}),
|
|
131
136
|
asHttpEffect() {
|
|
132
|
-
|
|
137
|
+
let handler = Effect.withFiberRuntime(fiber => {
|
|
133
138
|
const contextMap = new Map(fiber.currentContext.unsafeMap);
|
|
134
139
|
const request = contextMap.get(HttpServerRequest.HttpServerRequest.key);
|
|
135
140
|
let result = router.find(request.method, request.url);
|
|
@@ -157,6 +162,11 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
157
162
|
}
|
|
158
163
|
return Effect.locally(route.uninterruptible ? route.handler : Effect.interruptible(route.handler), FiberRef.currentContext, Context.unsafeMake(contextMap));
|
|
159
164
|
});
|
|
165
|
+
if (middleware.size === 0) return handler;
|
|
166
|
+
for (const fn of Arr.reverse(middleware)) {
|
|
167
|
+
handler = fn(handler);
|
|
168
|
+
}
|
|
169
|
+
return handler;
|
|
160
170
|
}
|
|
161
171
|
});
|
|
162
172
|
});
|
|
@@ -302,6 +312,11 @@ const MiddlewareTypeId = exports.MiddlewareTypeId = /*#__PURE__*/Symbol.for("@ef
|
|
|
302
312
|
/**
|
|
303
313
|
* Create a middleware layer that can be used to modify requests and responses.
|
|
304
314
|
*
|
|
315
|
+
* By default, the middleware only affects the routes that it is provided to.
|
|
316
|
+
*
|
|
317
|
+
* If you want to create a middleware that applies globally to all routes, pass
|
|
318
|
+
* the `global` option as `true`.
|
|
319
|
+
*
|
|
305
320
|
* ```ts
|
|
306
321
|
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
307
322
|
* import * as HttpMiddleware from "@effect/platform/HttpMiddleware"
|
|
@@ -357,10 +372,14 @@ const middleware = function () {
|
|
|
357
372
|
if (arguments.length === 0) {
|
|
358
373
|
return makeMiddleware;
|
|
359
374
|
}
|
|
360
|
-
return makeMiddleware(arguments[0]);
|
|
375
|
+
return makeMiddleware(arguments[0], arguments[1]);
|
|
361
376
|
};
|
|
362
377
|
exports.middleware = middleware;
|
|
363
|
-
const makeMiddleware = middleware =>
|
|
378
|
+
const makeMiddleware = (middleware, options) => options?.global ? Layer.scopedDiscard(Effect.gen(function* () {
|
|
379
|
+
const router = yield* HttpRouter;
|
|
380
|
+
const fn = Effect.isEffect(middleware) ? yield* middleware : middleware;
|
|
381
|
+
yield* router.addGlobalMiddleware(fn);
|
|
382
|
+
})) : 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]]))));
|
|
364
383
|
let middlewareId = 0;
|
|
365
384
|
const fnContextKey = "@effect/platform/HttpLayerRouter/MiddlewareFn";
|
|
366
385
|
class MiddlewareImpl {
|
|
@@ -425,7 +444,9 @@ const getMiddleware = context => {
|
|
|
425
444
|
* @since 1.0.0
|
|
426
445
|
* @category Middleware
|
|
427
446
|
*/
|
|
428
|
-
const cors = options => middleware(HttpMiddleware.cors(options)
|
|
447
|
+
const cors = options => middleware(HttpMiddleware.cors(options), {
|
|
448
|
+
global: true
|
|
449
|
+
});
|
|
429
450
|
/**
|
|
430
451
|
* A middleware that disables the logger for some routes.
|
|
431
452
|
*
|
|
@@ -509,9 +530,13 @@ const addHttpApi = (api, options) => {
|
|
|
509
530
|
const ApiMiddleware = middleware(HttpApiBuilder.buildMiddleware(api)).layer;
|
|
510
531
|
return HttpApiBuilder.Router.unwrap(Effect.fnUntraced(function* (router_) {
|
|
511
532
|
const router = yield* HttpRouter;
|
|
533
|
+
const context = yield* Effect.context();
|
|
512
534
|
const routes = Arr.empty();
|
|
513
535
|
for (const route of router_.routes) {
|
|
514
|
-
routes.push(makeRoute(
|
|
536
|
+
routes.push(makeRoute({
|
|
537
|
+
...route,
|
|
538
|
+
handler: Effect.provide(route.handler, context)
|
|
539
|
+
}));
|
|
515
540
|
}
|
|
516
541
|
yield* router.addAll(routes);
|
|
517
542
|
if (options?.openapiPath) {
|
|
@@ -539,5 +564,37 @@ const serve = (appLayer, options) => {
|
|
|
539
564
|
return middleware ? HttpServer.serve(handler, middleware) : HttpServer.serve(handler);
|
|
540
565
|
}).pipe(Layer.unwrapScoped, Layer.provide(appLayer), Layer.provide(RouterLayer), options?.disableListenLog ? _Function.identity : HttpServer.withLogAddress);
|
|
541
566
|
};
|
|
567
|
+
/**
|
|
568
|
+
* @since 1.0.0
|
|
569
|
+
* @category Server
|
|
570
|
+
*/
|
|
542
571
|
exports.serve = serve;
|
|
572
|
+
const toWebHandler = (appLayer, options) => {
|
|
573
|
+
let middleware = options?.middleware;
|
|
574
|
+
if (options?.disableLogger !== true) {
|
|
575
|
+
middleware = middleware ? (0, _Function.compose)(middleware, HttpMiddleware.logger) : HttpMiddleware.logger;
|
|
576
|
+
}
|
|
577
|
+
const RouterLayer = options?.routerConfig ? Layer.provide(layer, Layer.succeed(RouterConfig, options.routerConfig)) : layer;
|
|
578
|
+
const runtime = ManagedRuntime.make(Layer.provideMerge(appLayer, RouterLayer), options?.memoMap);
|
|
579
|
+
let handlerCached;
|
|
580
|
+
const handlerPromise = Effect.gen(function* () {
|
|
581
|
+
const router = yield* HttpRouter;
|
|
582
|
+
const effect = router.asHttpEffect();
|
|
583
|
+
const rt = yield* runtime.runtimeEffect;
|
|
584
|
+
const handler = HttpApp.toWebHandlerRuntime(rt)(effect, middleware);
|
|
585
|
+
handlerCached = handler;
|
|
586
|
+
return handler;
|
|
587
|
+
}).pipe(runtime.runPromise);
|
|
588
|
+
function handler(request, context) {
|
|
589
|
+
if (handlerCached !== undefined) {
|
|
590
|
+
return handlerCached(request, context);
|
|
591
|
+
}
|
|
592
|
+
return handlerPromise.then(handler => handler(request, context));
|
|
593
|
+
}
|
|
594
|
+
return {
|
|
595
|
+
handler,
|
|
596
|
+
dispose: runtime.dispose
|
|
597
|
+
};
|
|
598
|
+
};
|
|
599
|
+
exports.toWebHandler = toWebHandler;
|
|
543
600
|
//# 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","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","toAdd","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","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":[]}
|
|
1
|
+
{"version":3,"file":"HttpLayerRouter.js","names":["HttpServerRequest","_interopRequireWildcard","require","HttpServerResponse","Arr","Context","Effect","FiberRef","_Function","Layer","ManagedRuntime","Option","Scope","Tracer","FindMyWay","_FindMyWay","exports","HttpApiBuilder","HttpApp","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","toWebHandler","runtime","handlerCached","handlerPromise","rt","runtimeEffect","toWebHandlerRuntime","runPromise","then","dispose"],"sources":["../../src/HttpLayerRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -10,12 +10,16 @@ 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 type * as Etag from "./Etag.js";
|
|
14
|
+
import type { FileSystem } from "./FileSystem.js";
|
|
13
15
|
import type * as HttpApi from "./HttpApi.js";
|
|
14
16
|
import type * as HttpApiGroup from "./HttpApiGroup.js";
|
|
15
17
|
import type * as HttpMethod from "./HttpMethod.js";
|
|
18
|
+
import type { HttpPlatform } from "./HttpPlatform.js";
|
|
16
19
|
import { RouteContext } from "./HttpRouter.js";
|
|
17
20
|
import * as HttpServer from "./HttpServer.js";
|
|
18
21
|
import * as HttpServerError from "./HttpServerError.js";
|
|
22
|
+
import type { Path } from "./Path.js";
|
|
19
23
|
/**
|
|
20
24
|
* @since 1.0.0
|
|
21
25
|
* @category Re-exports
|
|
@@ -42,6 +46,7 @@ export interface HttpRouter {
|
|
|
42
46
|
readonly uninterruptible?: boolean | undefined;
|
|
43
47
|
} | undefined) => Effect.Effect<void, never, Type.From<"Requires", Exclude<R, Provided>> | Type.From<"Error", E>>;
|
|
44
48
|
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]>>>;
|
|
49
|
+
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
50
|
readonly asHttpEffect: () => Effect.Effect<HttpServerResponse.HttpServerResponse, unknown, HttpServerRequest.HttpServerRequest | Scope.Scope>;
|
|
46
51
|
}
|
|
47
52
|
/**
|
|
@@ -154,7 +159,7 @@ export declare const layer: Layer.Layer<HttpRouter>;
|
|
|
154
159
|
* @since 1.0.0
|
|
155
160
|
* @category HttpRouter
|
|
156
161
|
*/
|
|
157
|
-
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>;
|
|
162
|
+
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>;
|
|
158
163
|
/**
|
|
159
164
|
* @since 1.0.0
|
|
160
165
|
* @category Route
|
|
@@ -278,6 +283,13 @@ export declare namespace Type {
|
|
|
278
283
|
* @category Request types
|
|
279
284
|
*/
|
|
280
285
|
export type Provided = HttpServerRequest.HttpServerRequest | Scope.Scope | HttpServerRequest.ParsedSearchParams | RouteContext;
|
|
286
|
+
/**
|
|
287
|
+
* Services provided to global middleware.
|
|
288
|
+
*
|
|
289
|
+
* @since 1.0.0
|
|
290
|
+
* @category Request types
|
|
291
|
+
*/
|
|
292
|
+
export type GlobalProvided = HttpServerRequest.HttpServerRequest | Scope.Scope;
|
|
281
293
|
/**
|
|
282
294
|
* @since 1.0.0
|
|
283
295
|
* @category Middleware
|
|
@@ -311,7 +323,7 @@ export interface Middleware<Config extends {
|
|
|
311
323
|
layerRequires: any;
|
|
312
324
|
}> {
|
|
313
325
|
readonly [MiddlewareTypeId]: Config;
|
|
314
|
-
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";
|
|
326
|
+
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";
|
|
315
327
|
readonly combine: <Config2 extends {
|
|
316
328
|
provides: any;
|
|
317
329
|
handles: any;
|
|
@@ -331,6 +343,11 @@ export interface Middleware<Config extends {
|
|
|
331
343
|
/**
|
|
332
344
|
* Create a middleware layer that can be used to modify requests and responses.
|
|
333
345
|
*
|
|
346
|
+
* By default, the middleware only affects the routes that it is provided to.
|
|
347
|
+
*
|
|
348
|
+
* If you want to create a middleware that applies globally to all routes, pass
|
|
349
|
+
* the `global` option as `true`.
|
|
350
|
+
*
|
|
334
351
|
* ```ts
|
|
335
352
|
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
336
353
|
* import * as HttpMiddleware from "@effect/platform/HttpMiddleware"
|
|
@@ -400,7 +417,9 @@ export declare namespace middleware {
|
|
|
400
417
|
* @category Middleware
|
|
401
418
|
*/
|
|
402
419
|
type Make<Provides = never, Handles = never> = {
|
|
403
|
-
<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
|
|
420
|
+
<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?: {
|
|
421
|
+
readonly global?: Global | undefined;
|
|
422
|
+
}): 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<{
|
|
404
423
|
provides: Provides;
|
|
405
424
|
handles: Handles;
|
|
406
425
|
error: Exclude<E, unhandled>;
|
|
@@ -408,7 +427,9 @@ export declare namespace middleware {
|
|
|
408
427
|
layerError: EX;
|
|
409
428
|
layerRequires: Exclude<RX, Scope.Scope>;
|
|
410
429
|
}>;
|
|
411
|
-
<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")
|
|
430
|
+
<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?: {
|
|
431
|
+
readonly global?: Global | undefined;
|
|
432
|
+
}): 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<{
|
|
412
433
|
provides: Provides;
|
|
413
434
|
handles: Handles;
|
|
414
435
|
error: Exclude<E, unhandled>;
|
|
@@ -436,7 +457,7 @@ export declare const cors: (options?: {
|
|
|
436
457
|
readonly exposedHeaders?: ReadonlyArray<string> | undefined;
|
|
437
458
|
readonly maxAge?: number | undefined;
|
|
438
459
|
readonly credentials?: boolean | undefined;
|
|
439
|
-
} | undefined) => Layer.Layer<never>;
|
|
460
|
+
} | undefined) => Layer.Layer<never, never, HttpRouter>;
|
|
440
461
|
/**
|
|
441
462
|
* A middleware that disables the logger for some routes.
|
|
442
463
|
*
|
|
@@ -517,14 +538,14 @@ export declare const disableLogger: Layer.Layer<never>;
|
|
|
517
538
|
*/
|
|
518
539
|
export declare const addHttpApi: <Id extends string, Groups extends HttpApiGroup.HttpApiGroup.Any, E, R>(api: HttpApi.HttpApi<Id, Groups, E, R>, options?: {
|
|
519
540
|
readonly openapiPath?: `/${string}` | undefined;
|
|
520
|
-
}) => Layer.Layer<never, never, HttpRouter | HttpApiGroup.HttpApiGroup.ToService<Id, Groups> |
|
|
541
|
+
}) => Layer.Layer<never, never, Etag.Generator | HttpRouter | FileSystem | HttpPlatform | Path | R | HttpApiGroup.HttpApiGroup.ToService<Id, Groups> | HttpApiGroup.HttpApiGroup.ErrorContext<Groups>>;
|
|
521
542
|
/**
|
|
522
543
|
* Serves the provided application layer as an HTTP server.
|
|
523
544
|
*
|
|
524
545
|
* @since 1.0.0
|
|
525
546
|
* @category Server
|
|
526
547
|
*/
|
|
527
|
-
export declare const serve: <A, E, R, HE, HR = Type.Only<"Requires", R>>(appLayer: Layer.Layer<A, E, R>, options?: {
|
|
548
|
+
export declare const serve: <A, E, R, HE, HR = Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>>(appLayer: Layer.Layer<A, E, R>, options?: {
|
|
528
549
|
readonly routerConfig?: Partial<FindMyWay.RouterConfig> | undefined;
|
|
529
550
|
readonly disableLogger?: boolean | undefined;
|
|
530
551
|
readonly disableListenLog?: boolean;
|
|
@@ -539,6 +560,30 @@ export declare const serve: <A, E, R, HE, HR = Type.Only<"Requires", R>>(appLaye
|
|
|
539
560
|
* Use HttpLayerRouter.middleware to create middleware that can modify the
|
|
540
561
|
* response.
|
|
541
562
|
*/
|
|
542
|
-
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>;
|
|
543
|
-
}) => Layer.Layer<never, Type.Without<E>, HttpServer.HttpServer | Exclude<Type.Without<R> | Exclude<HR,
|
|
563
|
+
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>;
|
|
564
|
+
}) => Layer.Layer<never, Type.Without<E>, HttpServer.HttpServer | Exclude<Type.Without<R> | Exclude<HR, GlobalProvided>, HttpRouter>>;
|
|
565
|
+
/**
|
|
566
|
+
* @since 1.0.0
|
|
567
|
+
* @category Server
|
|
568
|
+
*/
|
|
569
|
+
export declare const toWebHandler: <A, E, R extends HttpRouter | Type<"Requires", any> | Type<"GlobalRequires", any> | Type<"Error", any> | Type<"GlobalError", any>, HE, HR = Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>>(appLayer: Layer.Layer<A, E, R>, options?: {
|
|
570
|
+
readonly memoMap?: Layer.MemoMap | undefined;
|
|
571
|
+
readonly routerConfig?: Partial<FindMyWay.RouterConfig> | undefined;
|
|
572
|
+
readonly disableLogger?: boolean | undefined;
|
|
573
|
+
/**
|
|
574
|
+
* Middleware to apply to the HTTP server.
|
|
575
|
+
*
|
|
576
|
+
* NOTE: This middleware is applied to the entire HTTP server chain,
|
|
577
|
+
* including the sending of the response. This means that modifications
|
|
578
|
+
* to the response **WILL NOT** be reflected in the final response sent to the
|
|
579
|
+
* client.
|
|
580
|
+
*
|
|
581
|
+
* Use HttpLayerRouter.middleware to create middleware that can modify the
|
|
582
|
+
* response.
|
|
583
|
+
*/
|
|
584
|
+
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>;
|
|
585
|
+
}) => {
|
|
586
|
+
readonly handler: [HR] extends [never] ? ((request: Request, context?: Context.Context<never> | undefined) => Promise<Response>) : ((request: Request, context: Context.Context<HR>) => Promise<Response>);
|
|
587
|
+
readonly dispose: () => Promise<void>;
|
|
588
|
+
};
|
|
544
589
|
//# sourceMappingURL=HttpLayerRouter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpLayerRouter.d.ts","sourceRoot":"","sources":["../../src/HttpLayerRouter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HttpLayerRouter.d.ts","sourceRoot":"","sources":["../../src/HttpLayerRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,13 @@ import * as Effect from "effect/Effect";
|
|
|
9
9
|
import * as FiberRef from "effect/FiberRef";
|
|
10
10
|
import { compose, constant, dual, identity } from "effect/Function";
|
|
11
11
|
import * as Layer from "effect/Layer";
|
|
12
|
+
import * as ManagedRuntime from "effect/ManagedRuntime";
|
|
12
13
|
import * as Option from "effect/Option";
|
|
13
14
|
import * as Scope from "effect/Scope";
|
|
14
15
|
import * as Tracer from "effect/Tracer";
|
|
15
16
|
import * as FindMyWay from "find-my-way-ts";
|
|
16
17
|
import * as HttpApiBuilder from "./HttpApiBuilder.js";
|
|
18
|
+
import * as HttpApp from "./HttpApp.js";
|
|
17
19
|
import * as HttpMiddleware from "./HttpMiddleware.js";
|
|
18
20
|
import { RouteContext, RouteContextTypeId } from "./HttpRouter.js";
|
|
19
21
|
import * as HttpServer from "./HttpServer.js";
|
|
@@ -40,6 +42,7 @@ export const HttpRouter = /*#__PURE__*/Context.GenericTag("@effect/platform/Http
|
|
|
40
42
|
*/
|
|
41
43
|
export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
42
44
|
const router = FindMyWay.make(yield* RouterConfig);
|
|
45
|
+
const middleware = new Set();
|
|
43
46
|
const addAll = routes => Effect.contextWith(context => {
|
|
44
47
|
const middleware = getMiddleware(context);
|
|
45
48
|
const applyMiddleware = effect => {
|
|
@@ -64,8 +67,7 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
64
67
|
[TypeId]: TypeId,
|
|
65
68
|
prefixed(prefix) {
|
|
66
69
|
return HttpRouter.of({
|
|
67
|
-
|
|
68
|
-
asHttpEffect: this.asHttpEffect,
|
|
70
|
+
...this,
|
|
69
71
|
prefixed: newPrefix => this.prefixed(prefixPath(prefix, newPrefix)),
|
|
70
72
|
addAll: routes => addAll(routes.map(prefixRoute(prefix))),
|
|
71
73
|
add: (method, path, handler, options) => addAll([makeRoute({
|
|
@@ -79,8 +81,11 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
79
81
|
},
|
|
80
82
|
addAll,
|
|
81
83
|
add: (method, path, handler, options) => addAll([route(method, path, handler, options)]),
|
|
84
|
+
addGlobalMiddleware: middleware_ => Effect.sync(() => {
|
|
85
|
+
middleware.add(middleware_);
|
|
86
|
+
}),
|
|
82
87
|
asHttpEffect() {
|
|
83
|
-
|
|
88
|
+
let handler = Effect.withFiberRuntime(fiber => {
|
|
84
89
|
const contextMap = new Map(fiber.currentContext.unsafeMap);
|
|
85
90
|
const request = contextMap.get(HttpServerRequest.HttpServerRequest.key);
|
|
86
91
|
let result = router.find(request.method, request.url);
|
|
@@ -108,6 +113,11 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
108
113
|
}
|
|
109
114
|
return Effect.locally(route.uninterruptible ? route.handler : Effect.interruptible(route.handler), FiberRef.currentContext, Context.unsafeMake(contextMap));
|
|
110
115
|
});
|
|
116
|
+
if (middleware.size === 0) return handler;
|
|
117
|
+
for (const fn of Arr.reverse(middleware)) {
|
|
118
|
+
handler = fn(handler);
|
|
119
|
+
}
|
|
120
|
+
return handler;
|
|
111
121
|
}
|
|
112
122
|
});
|
|
113
123
|
});
|
|
@@ -278,6 +288,11 @@ export const MiddlewareTypeId = /*#__PURE__*/Symbol.for("@effect/platform/HttpLa
|
|
|
278
288
|
/**
|
|
279
289
|
* Create a middleware layer that can be used to modify requests and responses.
|
|
280
290
|
*
|
|
291
|
+
* By default, the middleware only affects the routes that it is provided to.
|
|
292
|
+
*
|
|
293
|
+
* If you want to create a middleware that applies globally to all routes, pass
|
|
294
|
+
* the `global` option as `true`.
|
|
295
|
+
*
|
|
281
296
|
* ```ts
|
|
282
297
|
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
283
298
|
* import * as HttpMiddleware from "@effect/platform/HttpMiddleware"
|
|
@@ -333,9 +348,13 @@ export const middleware = function () {
|
|
|
333
348
|
if (arguments.length === 0) {
|
|
334
349
|
return makeMiddleware;
|
|
335
350
|
}
|
|
336
|
-
return makeMiddleware(arguments[0]);
|
|
351
|
+
return makeMiddleware(arguments[0], arguments[1]);
|
|
337
352
|
};
|
|
338
|
-
const makeMiddleware = middleware =>
|
|
353
|
+
const makeMiddleware = (middleware, options) => options?.global ? Layer.scopedDiscard(Effect.gen(function* () {
|
|
354
|
+
const router = yield* HttpRouter;
|
|
355
|
+
const fn = Effect.isEffect(middleware) ? yield* middleware : middleware;
|
|
356
|
+
yield* router.addGlobalMiddleware(fn);
|
|
357
|
+
})) : 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]]))));
|
|
339
358
|
let middlewareId = 0;
|
|
340
359
|
const fnContextKey = "@effect/platform/HttpLayerRouter/MiddlewareFn";
|
|
341
360
|
class MiddlewareImpl {
|
|
@@ -400,7 +419,9 @@ const getMiddleware = context => {
|
|
|
400
419
|
* @since 1.0.0
|
|
401
420
|
* @category Middleware
|
|
402
421
|
*/
|
|
403
|
-
export const cors = options => middleware(HttpMiddleware.cors(options)
|
|
422
|
+
export const cors = options => middleware(HttpMiddleware.cors(options), {
|
|
423
|
+
global: true
|
|
424
|
+
});
|
|
404
425
|
/**
|
|
405
426
|
* A middleware that disables the logger for some routes.
|
|
406
427
|
*
|
|
@@ -483,9 +504,13 @@ export const addHttpApi = (api, options) => {
|
|
|
483
504
|
const ApiMiddleware = middleware(HttpApiBuilder.buildMiddleware(api)).layer;
|
|
484
505
|
return HttpApiBuilder.Router.unwrap(Effect.fnUntraced(function* (router_) {
|
|
485
506
|
const router = yield* HttpRouter;
|
|
507
|
+
const context = yield* Effect.context();
|
|
486
508
|
const routes = Arr.empty();
|
|
487
509
|
for (const route of router_.routes) {
|
|
488
|
-
routes.push(makeRoute(
|
|
510
|
+
routes.push(makeRoute({
|
|
511
|
+
...route,
|
|
512
|
+
handler: Effect.provide(route.handler, context)
|
|
513
|
+
}));
|
|
489
514
|
}
|
|
490
515
|
yield* router.addAll(routes);
|
|
491
516
|
if (options?.openapiPath) {
|
|
@@ -512,4 +537,35 @@ export const serve = (appLayer, options) => {
|
|
|
512
537
|
return middleware ? HttpServer.serve(handler, middleware) : HttpServer.serve(handler);
|
|
513
538
|
}).pipe(Layer.unwrapScoped, Layer.provide(appLayer), Layer.provide(RouterLayer), options?.disableListenLog ? identity : HttpServer.withLogAddress);
|
|
514
539
|
};
|
|
540
|
+
/**
|
|
541
|
+
* @since 1.0.0
|
|
542
|
+
* @category Server
|
|
543
|
+
*/
|
|
544
|
+
export const toWebHandler = (appLayer, options) => {
|
|
545
|
+
let middleware = options?.middleware;
|
|
546
|
+
if (options?.disableLogger !== true) {
|
|
547
|
+
middleware = middleware ? compose(middleware, HttpMiddleware.logger) : HttpMiddleware.logger;
|
|
548
|
+
}
|
|
549
|
+
const RouterLayer = options?.routerConfig ? Layer.provide(layer, Layer.succeed(RouterConfig, options.routerConfig)) : layer;
|
|
550
|
+
const runtime = ManagedRuntime.make(Layer.provideMerge(appLayer, RouterLayer), options?.memoMap);
|
|
551
|
+
let handlerCached;
|
|
552
|
+
const handlerPromise = Effect.gen(function* () {
|
|
553
|
+
const router = yield* HttpRouter;
|
|
554
|
+
const effect = router.asHttpEffect();
|
|
555
|
+
const rt = yield* runtime.runtimeEffect;
|
|
556
|
+
const handler = HttpApp.toWebHandlerRuntime(rt)(effect, middleware);
|
|
557
|
+
handlerCached = handler;
|
|
558
|
+
return handler;
|
|
559
|
+
}).pipe(runtime.runPromise);
|
|
560
|
+
function handler(request, context) {
|
|
561
|
+
if (handlerCached !== undefined) {
|
|
562
|
+
return handlerCached(request, context);
|
|
563
|
+
}
|
|
564
|
+
return handlerPromise.then(handler => handler(request, context));
|
|
565
|
+
}
|
|
566
|
+
return {
|
|
567
|
+
handler,
|
|
568
|
+
dispose: runtime.dispose
|
|
569
|
+
};
|
|
570
|
+
};
|
|
515
571
|
//# sourceMappingURL=HttpLayerRouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpLayerRouter.js","names":["HttpServerRequest","HttpServerResponse","Arr","Context","Effect","FiberRef","compose","constant","dual","identity","Layer","Option","Scope","Tracer","FindMyWay","HttpApiBuilder","HttpMiddleware","RouteContext","RouteContextTypeId","HttpServer","HttpServerError","OpenApi","TypeId","Symbol","for","HttpRouter","GenericTag","make","gen","router","RouterConfig","addAll","routes","contextWith","context","middleware","getMiddleware","applyMiddleware","effect","i","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","get","key","result","find","url","undefined","fail","RouteNotFound","_tag","set","sliceRequestUrl","value","ParsedSearchParams","searchParams","params","span","ParentSpan","attribute","locally","interruptible","unsafeMake","prefexLen","modify","slice","Reference","defaultValue","schemaJson","schemaNoBody","schemaParams","schemaPathParams","use","f","scopedDiscard","toAdd","layer","toHttpEffect","appLayer","scope","memoMap","CurrentMemoMap","buildWithMemoMap","provideMerge","RouteTypeId","none","removeTrailingSlash","endsWith","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","WeakMap","arr","topLevel","empty","maxLength","startsWith","Set","fromIterable","reverse","cors","disableLogger","withLoggerDisabled","addHttpApi","api","ApiMiddleware","buildMiddleware","Router","unwrap","fnUntraced","router_","openapiPath","spec","fromApi","succeed","unsafeJson","effectDiscard","serve","logger","RouterLayer","routerConfig","unwrapScoped","disableListenLog","withLogAddress"],"sources":["../../src/HttpLayerRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HttpLayerRouter.js","names":["HttpServerRequest","HttpServerResponse","Arr","Context","Effect","FiberRef","compose","constant","dual","identity","Layer","ManagedRuntime","Option","Scope","Tracer","FindMyWay","HttpApiBuilder","HttpApp","HttpMiddleware","RouteContext","RouteContextTypeId","HttpServer","HttpServerError","OpenApi","TypeId","Symbol","for","HttpRouter","GenericTag","make","gen","router","RouterConfig","middleware","Set","addAll","routes","contextWith","context","getMiddleware","applyMiddleware","effect","i","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","get","key","result","find","url","undefined","fail","RouteNotFound","_tag","set","sliceRequestUrl","value","ParsedSearchParams","searchParams","params","span","ParentSpan","attribute","locally","interruptible","unsafeMake","size","fn","reverse","prefexLen","modify","slice","Reference","defaultValue","schemaJson","schemaNoBody","schemaParams","schemaPathParams","use","f","scopedDiscard","toAdd","layer","toHttpEffect","appLayer","scope","memoMap","CurrentMemoMap","buildWithMemoMap","provideMerge","RouteTypeId","none","removeTrailingSlash","endsWith","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","WeakMap","arr","topLevel","empty","maxLength","startsWith","fromIterable","cors","disableLogger","withLoggerDisabled","addHttpApi","api","ApiMiddleware","buildMiddleware","Router","unwrap","fnUntraced","router_","openapiPath","spec","fromApi","succeed","unsafeJson","effectDiscard","serve","logger","RouterLayer","routerConfig","unwrapScoped","disableListenLog","withLogAddress","toWebHandler","runtime","handlerCached","handlerPromise","rt","runtimeEffect","toWebHandlerRuntime","runPromise","then","dispose"],"sources":["../../src/HttpLayerRouter.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
package/src/HttpLayerRouter.ts
CHANGED
|
@@ -9,20 +9,26 @@ import * as Effect from "effect/Effect"
|
|
|
9
9
|
import * as FiberRef from "effect/FiberRef"
|
|
10
10
|
import { compose, constant, dual, identity } from "effect/Function"
|
|
11
11
|
import * as Layer from "effect/Layer"
|
|
12
|
+
import * as ManagedRuntime from "effect/ManagedRuntime"
|
|
12
13
|
import * as Option from "effect/Option"
|
|
13
14
|
import * as Scope from "effect/Scope"
|
|
14
15
|
import * as Tracer from "effect/Tracer"
|
|
15
16
|
import type * as Types from "effect/Types"
|
|
16
17
|
import * as FindMyWay from "find-my-way-ts"
|
|
18
|
+
import type * as Etag from "./Etag.js"
|
|
19
|
+
import type { FileSystem } from "./FileSystem.js"
|
|
17
20
|
import type * as HttpApi from "./HttpApi.js"
|
|
18
21
|
import * as HttpApiBuilder from "./HttpApiBuilder.js"
|
|
19
22
|
import type * as HttpApiGroup from "./HttpApiGroup.js"
|
|
23
|
+
import * as HttpApp from "./HttpApp.js"
|
|
20
24
|
import type * as HttpMethod from "./HttpMethod.js"
|
|
21
25
|
import * as HttpMiddleware from "./HttpMiddleware.js"
|
|
26
|
+
import type { HttpPlatform } from "./HttpPlatform.js"
|
|
22
27
|
import { RouteContext, RouteContextTypeId } from "./HttpRouter.js"
|
|
23
28
|
import * as HttpServer from "./HttpServer.js"
|
|
24
29
|
import * as HttpServerError from "./HttpServerError.js"
|
|
25
30
|
import * as OpenApi from "./OpenApi.js"
|
|
31
|
+
import type { Path } from "./Path.js"
|
|
26
32
|
|
|
27
33
|
/**
|
|
28
34
|
* @since 1.0.0
|
|
@@ -73,6 +79,19 @@ export interface HttpRouter {
|
|
|
73
79
|
| Type.From<"Error", Route.Error<Routes[number]>>
|
|
74
80
|
>
|
|
75
81
|
|
|
82
|
+
readonly addGlobalMiddleware: <E, R>(
|
|
83
|
+
middleware:
|
|
84
|
+
& ((
|
|
85
|
+
effect: Effect.Effect<HttpServerResponse.HttpServerResponse, unhandled>
|
|
86
|
+
) => Effect.Effect<HttpServerResponse.HttpServerResponse, E, R>)
|
|
87
|
+
& (unhandled extends E ? unknown : "You cannot handle any errors")
|
|
88
|
+
) => Effect.Effect<
|
|
89
|
+
void,
|
|
90
|
+
never,
|
|
91
|
+
| Type.From<"GlobalRequires", Exclude<R, GlobalProvided>>
|
|
92
|
+
| Type.From<"GlobalError", Exclude<E, unhandled>>
|
|
93
|
+
>
|
|
94
|
+
|
|
76
95
|
readonly asHttpEffect: () => Effect.Effect<
|
|
77
96
|
HttpServerResponse.HttpServerResponse,
|
|
78
97
|
unknown,
|
|
@@ -94,6 +113,7 @@ export const HttpRouter: Context.Tag<HttpRouter, HttpRouter> = Context.GenericTa
|
|
|
94
113
|
*/
|
|
95
114
|
export const make = Effect.gen(function*() {
|
|
96
115
|
const router = FindMyWay.make<Route<any, never>>(yield* RouterConfig)
|
|
116
|
+
const middleware = new Set<middleware.Fn>()
|
|
97
117
|
|
|
98
118
|
const addAll = <const Routes extends ReadonlyArray<Route<any, any>>>(
|
|
99
119
|
routes: Routes
|
|
@@ -128,8 +148,7 @@ export const make = Effect.gen(function*() {
|
|
|
128
148
|
[TypeId]: TypeId,
|
|
129
149
|
prefixed(this: HttpRouter, prefix: string) {
|
|
130
150
|
return HttpRouter.of({
|
|
131
|
-
|
|
132
|
-
asHttpEffect: this.asHttpEffect,
|
|
151
|
+
...this,
|
|
133
152
|
prefixed: (newPrefix: string) => this.prefixed(prefixPath(prefix, newPrefix)),
|
|
134
153
|
addAll: (routes) => addAll(routes.map(prefixRoute(prefix))) as any,
|
|
135
154
|
add: (method, path, handler, options) =>
|
|
@@ -148,8 +167,12 @@ export const make = Effect.gen(function*() {
|
|
|
148
167
|
},
|
|
149
168
|
addAll,
|
|
150
169
|
add: (method, path, handler, options) => addAll([route(method, path, handler, options)]),
|
|
170
|
+
addGlobalMiddleware: (middleware_) =>
|
|
171
|
+
Effect.sync(() => {
|
|
172
|
+
middleware.add(middleware_ as any)
|
|
173
|
+
}),
|
|
151
174
|
asHttpEffect() {
|
|
152
|
-
|
|
175
|
+
let handler = Effect.withFiberRuntime<HttpServerResponse.HttpServerResponse, unknown>((fiber) => {
|
|
153
176
|
const contextMap = new Map(fiber.currentContext.unsafeMap)
|
|
154
177
|
const request = contextMap.get(HttpServerRequest.HttpServerRequest.key) as HttpServerRequest.HttpServerRequest
|
|
155
178
|
let result = router.find(request.method, request.url)
|
|
@@ -185,6 +208,11 @@ export const make = Effect.gen(function*() {
|
|
|
185
208
|
Context.unsafeMake(contextMap)
|
|
186
209
|
)
|
|
187
210
|
})
|
|
211
|
+
if (middleware.size === 0) return handler
|
|
212
|
+
for (const fn of Arr.reverse(middleware)) {
|
|
213
|
+
handler = fn(handler as any)
|
|
214
|
+
}
|
|
215
|
+
return handler
|
|
188
216
|
}
|
|
189
217
|
})
|
|
190
218
|
})
|
|
@@ -334,8 +362,8 @@ export const toHttpEffect = <A, E, R>(
|
|
|
334
362
|
): Effect.Effect<
|
|
335
363
|
Effect.Effect<
|
|
336
364
|
HttpServerResponse.HttpServerResponse,
|
|
337
|
-
Type.Only<"Error", R> | HttpServerError.RouteNotFound,
|
|
338
|
-
Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R>
|
|
365
|
+
Type.Only<"Error", R> | Type.Only<"GlobalRequires", R> | HttpServerError.RouteNotFound,
|
|
366
|
+
Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>
|
|
339
367
|
>,
|
|
340
368
|
Type.Without<E>,
|
|
341
369
|
Exclude<Type.Without<R>, HttpRouter> | Scope.Scope
|
|
@@ -536,6 +564,16 @@ export type Provided =
|
|
|
536
564
|
| HttpServerRequest.ParsedSearchParams
|
|
537
565
|
| RouteContext
|
|
538
566
|
|
|
567
|
+
/**
|
|
568
|
+
* Services provided to global middleware.
|
|
569
|
+
*
|
|
570
|
+
* @since 1.0.0
|
|
571
|
+
* @category Request types
|
|
572
|
+
*/
|
|
573
|
+
export type GlobalProvided =
|
|
574
|
+
| HttpServerRequest.HttpServerRequest
|
|
575
|
+
| Scope.Scope
|
|
576
|
+
|
|
539
577
|
/**
|
|
540
578
|
* @since 1.0.0
|
|
541
579
|
* @category Middleware
|
|
@@ -578,7 +616,9 @@ export interface Middleware<
|
|
|
578
616
|
readonly layer: [Config["requires"]] extends [never] ? Layer.Layer<
|
|
579
617
|
Type.From<"Requires", Config["provides"]>,
|
|
580
618
|
Config["layerError"],
|
|
581
|
-
|
|
619
|
+
| Config["layerRequires"]
|
|
620
|
+
| Type.From<"Requires", Config["requires"]>
|
|
621
|
+
| Type.From<"Error", Config["error"]>
|
|
582
622
|
>
|
|
583
623
|
: "Need to .combine(middleware) that satisfy the missing request dependencies"
|
|
584
624
|
|
|
@@ -604,6 +644,11 @@ export interface Middleware<
|
|
|
604
644
|
/**
|
|
605
645
|
* Create a middleware layer that can be used to modify requests and responses.
|
|
606
646
|
*
|
|
647
|
+
* By default, the middleware only affects the routes that it is provided to.
|
|
648
|
+
*
|
|
649
|
+
* If you want to create a middleware that applies globally to all routes, pass
|
|
650
|
+
* the `global` option as `true`.
|
|
651
|
+
*
|
|
607
652
|
* ```ts
|
|
608
653
|
* import * as HttpLayerRouter from "@effect/platform/HttpLayerRouter"
|
|
609
654
|
* import * as HttpMiddleware from "@effect/platform/HttpMiddleware"
|
|
@@ -669,15 +714,23 @@ export const middleware:
|
|
|
669
714
|
if (arguments.length === 0) {
|
|
670
715
|
return makeMiddleware as any
|
|
671
716
|
}
|
|
672
|
-
return makeMiddleware(arguments[0])
|
|
717
|
+
return makeMiddleware(arguments[0], arguments[1]) as any
|
|
673
718
|
}
|
|
674
719
|
|
|
675
|
-
const makeMiddleware = (middleware: any
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
720
|
+
const makeMiddleware = (middleware: any, options?: {
|
|
721
|
+
readonly global?: boolean | undefined
|
|
722
|
+
}) =>
|
|
723
|
+
options?.global ?
|
|
724
|
+
Layer.scopedDiscard(Effect.gen(function*() {
|
|
725
|
+
const router = yield* HttpRouter
|
|
726
|
+
const fn = Effect.isEffect(middleware) ? yield* middleware : middleware
|
|
727
|
+
yield* router.addGlobalMiddleware(fn)
|
|
728
|
+
}))
|
|
729
|
+
: new MiddlewareImpl(
|
|
730
|
+
Effect.isEffect(middleware) ?
|
|
731
|
+
Layer.scopedContext(Effect.map(middleware, (fn) => Context.unsafeMake(new Map([[fnContextKey, fn]])))) :
|
|
732
|
+
Layer.succeedContext(Context.unsafeMake(new Map([[fnContextKey, middleware]]))) as any
|
|
733
|
+
)
|
|
681
734
|
|
|
682
735
|
let middlewareId = 0
|
|
683
736
|
const fnContextKey = "@effect/platform/HttpLayerRouter/MiddlewareFn"
|
|
@@ -773,7 +826,7 @@ export declare namespace middleware {
|
|
|
773
826
|
* @category Middleware
|
|
774
827
|
*/
|
|
775
828
|
export type Make<Provides = never, Handles = never> = {
|
|
776
|
-
<E, R, EX, RX>(
|
|
829
|
+
<E, R, EX, RX, const Global extends boolean = false>(
|
|
777
830
|
middleware: Effect.Effect<
|
|
778
831
|
(
|
|
779
832
|
effect: Effect.Effect<
|
|
@@ -790,16 +843,30 @@ export declare namespace middleware {
|
|
|
790
843
|
& (unhandled extends E ? unknown : "You must only handle the configured errors"),
|
|
791
844
|
EX,
|
|
792
845
|
RX
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
846
|
+
>,
|
|
847
|
+
options?: {
|
|
848
|
+
readonly global?: Global | undefined
|
|
849
|
+
}
|
|
850
|
+
): Global extends true ? Layer.Layer<
|
|
851
|
+
| Type.From<"Requires", Provides>
|
|
852
|
+
| Type.From<"Error", Handles>
|
|
853
|
+
| Type.From<"GlobalRequires", Provides>
|
|
854
|
+
| Type.From<"GlobalError", Handles>,
|
|
855
|
+
EX,
|
|
856
|
+
| HttpRouter
|
|
857
|
+
| Exclude<RX, Scope.Scope>
|
|
858
|
+
| Type.From<"GlobalRequires", Exclude<R, GlobalProvided>>
|
|
859
|
+
| Type.From<"GlobalError", Exclude<E, unhandled>>
|
|
860
|
+
> :
|
|
861
|
+
Middleware<{
|
|
862
|
+
provides: Provides
|
|
863
|
+
handles: Handles
|
|
864
|
+
error: Exclude<E, unhandled>
|
|
865
|
+
requires: Exclude<R, Provided>
|
|
866
|
+
layerError: EX
|
|
867
|
+
layerRequires: Exclude<RX, Scope.Scope>
|
|
868
|
+
}>
|
|
869
|
+
<E, R, const Global extends boolean = false>(
|
|
803
870
|
middleware:
|
|
804
871
|
& ((
|
|
805
872
|
effect: Effect.Effect<
|
|
@@ -812,15 +879,28 @@ export declare namespace middleware {
|
|
|
812
879
|
E,
|
|
813
880
|
R
|
|
814
881
|
>)
|
|
815
|
-
& (unhandled extends E ? unknown : "You must only handle the configured errors")
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
882
|
+
& (unhandled extends E ? unknown : "You must only handle the configured errors"),
|
|
883
|
+
options?: {
|
|
884
|
+
readonly global?: Global | undefined
|
|
885
|
+
}
|
|
886
|
+
): Global extends true ? Layer.Layer<
|
|
887
|
+
| Type.From<"Requires", Provides>
|
|
888
|
+
| Type.From<"Error", Handles>
|
|
889
|
+
| Type.From<"GlobalRequires", Provides>
|
|
890
|
+
| Type.From<"GlobalError", Handles>,
|
|
891
|
+
never,
|
|
892
|
+
| HttpRouter
|
|
893
|
+
| Type.From<"GlobalRequires", Exclude<R, GlobalProvided>>
|
|
894
|
+
| Type.From<"GlobalError", Exclude<E, unhandled>>
|
|
895
|
+
> :
|
|
896
|
+
Middleware<{
|
|
897
|
+
provides: Provides
|
|
898
|
+
handles: Handles
|
|
899
|
+
error: Exclude<E, unhandled>
|
|
900
|
+
requires: Exclude<R, Provided>
|
|
901
|
+
layerError: never
|
|
902
|
+
layerRequires: never
|
|
903
|
+
}>
|
|
824
904
|
}
|
|
825
905
|
|
|
826
906
|
/**
|
|
@@ -847,7 +927,7 @@ export const cors = (
|
|
|
847
927
|
readonly maxAge?: number | undefined
|
|
848
928
|
readonly credentials?: boolean | undefined
|
|
849
929
|
} | undefined
|
|
850
|
-
): Layer.Layer<never> => middleware(HttpMiddleware.cors(options))
|
|
930
|
+
): Layer.Layer<never, never, HttpRouter> => middleware(HttpMiddleware.cors(options), { global: true })
|
|
851
931
|
|
|
852
932
|
/**
|
|
853
933
|
* A middleware that disables the logger for some routes.
|
|
@@ -936,16 +1016,31 @@ export const addHttpApi = <Id extends string, Groups extends HttpApiGroup.HttpAp
|
|
|
936
1016
|
): Layer.Layer<
|
|
937
1017
|
never,
|
|
938
1018
|
never,
|
|
939
|
-
|
|
1019
|
+
| Etag.Generator
|
|
1020
|
+
| HttpRouter
|
|
1021
|
+
| FileSystem
|
|
1022
|
+
| HttpPlatform
|
|
1023
|
+
| Path
|
|
1024
|
+
| R
|
|
1025
|
+
| HttpApiGroup.HttpApiGroup.ToService<Id, Groups>
|
|
1026
|
+
| HttpApiGroup.HttpApiGroup.ErrorContext<Groups>
|
|
940
1027
|
> => {
|
|
941
|
-
const ApiMiddleware = middleware(HttpApiBuilder.buildMiddleware(api)).layer
|
|
942
|
-
|
|
1028
|
+
const ApiMiddleware = middleware(HttpApiBuilder.buildMiddleware(api)).layer as Layer.Layer<never>
|
|
943
1029
|
return HttpApiBuilder.Router.unwrap(Effect.fnUntraced(function*(router_) {
|
|
944
1030
|
const router = yield* HttpRouter
|
|
1031
|
+
const context = yield* Effect.context<
|
|
1032
|
+
| Etag.Generator
|
|
1033
|
+
| HttpRouter
|
|
1034
|
+
| FileSystem
|
|
1035
|
+
| HttpPlatform
|
|
1036
|
+
| Path
|
|
1037
|
+
>()
|
|
945
1038
|
const routes = Arr.empty<Route<any, any>>()
|
|
946
|
-
|
|
947
1039
|
for (const route of router_.routes) {
|
|
948
|
-
routes.push(makeRoute(
|
|
1040
|
+
routes.push(makeRoute({
|
|
1041
|
+
...route as any,
|
|
1042
|
+
handler: Effect.provide(route.handler, context)
|
|
1043
|
+
}))
|
|
949
1044
|
}
|
|
950
1045
|
|
|
951
1046
|
yield* (router.addAll(routes) as Effect.Effect<void>)
|
|
@@ -965,7 +1060,7 @@ export const addHttpApi = <Id extends string, Groups extends HttpApiGroup.HttpAp
|
|
|
965
1060
|
* @since 1.0.0
|
|
966
1061
|
* @category Server
|
|
967
1062
|
*/
|
|
968
|
-
export const serve = <A, E, R, HE, HR = Type.Only<"Requires", R>>(
|
|
1063
|
+
export const serve = <A, E, R, HE, HR = Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>>(
|
|
969
1064
|
appLayer: Layer.Layer<A, E, R>,
|
|
970
1065
|
options?: {
|
|
971
1066
|
readonly routerConfig?: Partial<FindMyWay.RouterConfig> | undefined
|
|
@@ -985,15 +1080,15 @@ export const serve = <A, E, R, HE, HR = Type.Only<"Requires", R>>(
|
|
|
985
1080
|
readonly middleware?: (
|
|
986
1081
|
effect: Effect.Effect<
|
|
987
1082
|
HttpServerResponse.HttpServerResponse,
|
|
988
|
-
Type.Only<"Error", R> | HttpServerError.RouteNotFound,
|
|
989
|
-
Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R>
|
|
1083
|
+
Type.Only<"Error", R> | Type.Only<"GlobalError", R> | HttpServerError.RouteNotFound,
|
|
1084
|
+
Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>
|
|
990
1085
|
>
|
|
991
1086
|
) => Effect.Effect<HttpServerResponse.HttpServerResponse, HE, HR>
|
|
992
1087
|
}
|
|
993
1088
|
): Layer.Layer<
|
|
994
1089
|
never,
|
|
995
1090
|
Type.Without<E>,
|
|
996
|
-
HttpServer.HttpServer | Exclude<Type.Without<R> | Exclude<HR,
|
|
1091
|
+
HttpServer.HttpServer | Exclude<Type.Without<R> | Exclude<HR, GlobalProvided>, HttpRouter>
|
|
997
1092
|
> => {
|
|
998
1093
|
let middleware: any = options?.middleware
|
|
999
1094
|
if (options?.disableLogger !== true) {
|
|
@@ -1013,3 +1108,78 @@ export const serve = <A, E, R, HE, HR = Type.Only<"Requires", R>>(
|
|
|
1013
1108
|
options?.disableListenLog ? identity : HttpServer.withLogAddress
|
|
1014
1109
|
) as any
|
|
1015
1110
|
}
|
|
1111
|
+
|
|
1112
|
+
/**
|
|
1113
|
+
* @since 1.0.0
|
|
1114
|
+
* @category Server
|
|
1115
|
+
*/
|
|
1116
|
+
export const toWebHandler = <
|
|
1117
|
+
A,
|
|
1118
|
+
E,
|
|
1119
|
+
R extends
|
|
1120
|
+
| HttpRouter
|
|
1121
|
+
| Type<"Requires", any>
|
|
1122
|
+
| Type<"GlobalRequires", any>
|
|
1123
|
+
| Type<"Error", any>
|
|
1124
|
+
| Type<"GlobalError", any>,
|
|
1125
|
+
HE,
|
|
1126
|
+
HR = Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>
|
|
1127
|
+
>(
|
|
1128
|
+
appLayer: Layer.Layer<A, E, R>,
|
|
1129
|
+
options?: {
|
|
1130
|
+
readonly memoMap?: Layer.MemoMap | undefined
|
|
1131
|
+
readonly routerConfig?: Partial<FindMyWay.RouterConfig> | undefined
|
|
1132
|
+
readonly disableLogger?: boolean | undefined
|
|
1133
|
+
/**
|
|
1134
|
+
* Middleware to apply to the HTTP server.
|
|
1135
|
+
*
|
|
1136
|
+
* NOTE: This middleware is applied to the entire HTTP server chain,
|
|
1137
|
+
* including the sending of the response. This means that modifications
|
|
1138
|
+
* to the response **WILL NOT** be reflected in the final response sent to the
|
|
1139
|
+
* client.
|
|
1140
|
+
*
|
|
1141
|
+
* Use HttpLayerRouter.middleware to create middleware that can modify the
|
|
1142
|
+
* response.
|
|
1143
|
+
*/
|
|
1144
|
+
readonly middleware?: (
|
|
1145
|
+
effect: Effect.Effect<
|
|
1146
|
+
HttpServerResponse.HttpServerResponse,
|
|
1147
|
+
Type.Only<"Error", R> | Type.Only<"GlobalError", R> | HttpServerError.RouteNotFound,
|
|
1148
|
+
Scope.Scope | HttpServerRequest.HttpServerRequest | Type.Only<"Requires", R> | Type.Only<"GlobalRequires", R>
|
|
1149
|
+
>
|
|
1150
|
+
) => Effect.Effect<HttpServerResponse.HttpServerResponse, HE, HR>
|
|
1151
|
+
}
|
|
1152
|
+
): {
|
|
1153
|
+
readonly handler: [HR] extends [never]
|
|
1154
|
+
? ((request: Request, context?: Context.Context<never> | undefined) => Promise<Response>)
|
|
1155
|
+
: ((request: Request, context: Context.Context<HR>) => Promise<Response>)
|
|
1156
|
+
readonly dispose: () => Promise<void>
|
|
1157
|
+
} => {
|
|
1158
|
+
let middleware: any = options?.middleware
|
|
1159
|
+
if (options?.disableLogger !== true) {
|
|
1160
|
+
middleware = middleware ? compose(middleware, HttpMiddleware.logger) : HttpMiddleware.logger
|
|
1161
|
+
}
|
|
1162
|
+
const RouterLayer = options?.routerConfig
|
|
1163
|
+
? Layer.provide(layer, Layer.succeed(RouterConfig, options.routerConfig))
|
|
1164
|
+
: layer
|
|
1165
|
+
const runtime = ManagedRuntime.make(
|
|
1166
|
+
Layer.provideMerge(appLayer, RouterLayer) as any,
|
|
1167
|
+
options?.memoMap
|
|
1168
|
+
)
|
|
1169
|
+
let handlerCached: ((request: Request, context?: Context.Context<never> | undefined) => Promise<Response>) | undefined
|
|
1170
|
+
const handlerPromise = Effect.gen(function*() {
|
|
1171
|
+
const router = yield* HttpRouter
|
|
1172
|
+
const effect = router.asHttpEffect()
|
|
1173
|
+
const rt = yield* runtime.runtimeEffect
|
|
1174
|
+
const handler = HttpApp.toWebHandlerRuntime(rt)(effect, middleware)
|
|
1175
|
+
handlerCached = handler
|
|
1176
|
+
return handler
|
|
1177
|
+
}).pipe(runtime.runPromise)
|
|
1178
|
+
function handler(request: Request, context?: Context.Context<never> | undefined): Promise<Response> {
|
|
1179
|
+
if (handlerCached !== undefined) {
|
|
1180
|
+
return handlerCached(request, context)
|
|
1181
|
+
}
|
|
1182
|
+
return handlerPromise.then((handler) => handler(request, context))
|
|
1183
|
+
}
|
|
1184
|
+
return { handler, dispose: runtime.dispose } as const
|
|
1185
|
+
}
|