@effect/platform 0.14.0 → 0.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Context from "@effect/data/Context";
5
+ import type * as Effect from "@effect/io/Effect";
6
+ import type * as Error from "@effect/platform/Error";
7
+ import type * as FileSystem from "@effect/platform/FileSystem";
8
+ import type * as Body from "@effect/platform/Http/Body";
9
+ import type * as Etag from "@effect/platform/Http/Etag";
10
+ import type * as ServerResponse from "@effect/platform/Http/ServerResponse";
11
+ /**
12
+ * @since 1.0.0
13
+ * @category type ids
14
+ */
15
+ export declare const TypeId: unique symbol;
16
+ /**
17
+ * @since 1.0.0
18
+ * @category type ids
19
+ */
20
+ export type TypeId = typeof TypeId;
21
+ /**
22
+ * @since 1.0.0
23
+ * @category tags
24
+ */
25
+ export declare const Platform: Context.Tag<Platform, Platform>;
26
+ /**
27
+ * @since 1.0.0
28
+ * @category models
29
+ */
30
+ export interface Platform {
31
+ readonly [TypeId]: TypeId;
32
+ readonly fileResponse: (path: string, options?: ServerResponse.Options.WithContent & FileSystem.StreamOptions) => Effect.Effect<never, Error.PlatformError, ServerResponse.ServerResponse>;
33
+ readonly fileWebResponse: (file: Body.Body.FileLike, options?: ServerResponse.Options.WithContent & FileSystem.StreamOptions) => Effect.Effect<never, never, ServerResponse.ServerResponse>;
34
+ }
35
+ /**
36
+ * @since 1.0.0
37
+ * @category constructors
38
+ */
39
+ export declare const make: (impl: {
40
+ readonly fileResponse: (path: string, status: number, statusText: string | undefined, headers: Record<string, string>, start: number, end: number | undefined, contentLength: number) => ServerResponse.ServerResponse;
41
+ readonly fileWebResponse: (file: Body.Body.FileLike, status: number, statusText: string | undefined, headers: Record<string, string>, options?: FileSystem.StreamOptions | undefined) => ServerResponse.ServerResponse;
42
+ }) => Effect.Effect<FileSystem.FileSystem | Etag.Generator, never, Platform>;
43
+ //# sourceMappingURL=Platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Platform.d.ts","sourceRoot":"","sources":["../src/Http/Platform.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,KAAK,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,KAAK,IAAI,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,KAAK,IAAI,MAAM,4BAA4B,CAAA;AACvD,OAAO,KAAK,KAAK,cAAc,MAAM,sCAAsC,CAAA;AAG3E;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAwB,CAAA;AAEpD;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAgB,CAAA;AAErE;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC,aAAa,KACpE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;IAC7E,QAAQ,CAAC,eAAe,EAAE,CACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EACxB,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC,aAAa,KACpE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,CAAA;CAChE;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,IAAI,EAAE;IACJ,QAAQ,CAAC,YAAY,EAAE,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,aAAa,EAAE,MAAM,KAClB,cAAc,CAAC,cAAc,CAAA;IAClC,QAAQ,CAAC,eAAe,EAAE,CACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EACxB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,OAAO,CAAC,EAAE,UAAU,CAAC,aAAa,GAAG,SAAS,KAC3C,cAAc,CAAC,cAAc,CAAA;CACnC,KACE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAiB,CAAA"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = exports.TypeId = exports.Platform = void 0;
7
+ var internal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/internal/http/platform"));
8
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
+ /**
11
+ * @since 1.0.0
12
+ * @category type ids
13
+ */
14
+ const TypeId = internal.TypeId;
15
+ /**
16
+ * @since 1.0.0
17
+ * @category tags
18
+ */
19
+ exports.TypeId = TypeId;
20
+ const Platform = internal.tag;
21
+ /**
22
+ * @since 1.0.0
23
+ * @category constructors
24
+ */
25
+ exports.Platform = Platform;
26
+ const make = internal.make;
27
+ exports.make = make;
28
+ //# sourceMappingURL=Platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Platform.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeId","exports","Platform","tag","make"],"sources":["../src/Http/Platform.ts"],"sourcesContent":[null],"mappings":";;;;;;AAUA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAmE,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAEnE;;;;AAIO,MAAMW,MAAM,GAAkBzB,QAAQ,CAACyB,MAAM;AAQpD;;;;AAAAC,OAAA,CAAAD,MAAA,GAAAA,MAAA;AAIO,MAAME,QAAQ,GAAoC3B,QAAQ,CAAC4B,GAAG;AAkBrE;;;;AAAAF,OAAA,CAAAC,QAAA,GAAAA,QAAA;AAIO,MAAME,IAAI,GAmB6D7B,QAAQ,CAAC6B,IAAI;AAAAH,OAAA,CAAAG,IAAA,GAAAA,IAAA"}
@@ -6,8 +6,8 @@ import type * as Effect from "@effect/io/Effect";
6
6
  import type * as PlatformError from "@effect/platform/Error";
7
7
  import type * as FileSystem from "@effect/platform/FileSystem";
8
8
  import type * as Body from "@effect/platform/Http/Body";
9
- import type * as Etag from "@effect/platform/Http/Etag";
10
9
  import type * as Headers from "@effect/platform/Http/Headers";
10
+ import type * as Platform from "@effect/platform/Http/Platform";
11
11
  import type * as UrlParams from "@effect/platform/Http/UrlParams";
12
12
  import type * as Schema from "@effect/schema/Schema";
13
13
  import type * as Stream from "@effect/stream/Stream";
@@ -118,12 +118,12 @@ export declare const stream: (body: Stream.Stream<never, unknown, Uint8Array>, o
118
118
  * @since 1.0.0
119
119
  * @category constructors
120
120
  */
121
- export declare const file: (path: string, options?: Options & FileSystem.StreamOptions) => Effect.Effect<FileSystem.FileSystem | Etag.Generator, PlatformError.PlatformError, ServerResponse>;
121
+ export declare const file: (path: string, options?: Options & FileSystem.StreamOptions) => Effect.Effect<Platform.Platform, PlatformError.PlatformError, ServerResponse>;
122
122
  /**
123
123
  * @since 1.0.0
124
124
  * @category constructors
125
125
  */
126
- export declare const fileWeb: (file: Body.Body.FileLike, options?: Options.WithContent) => Effect.Effect<Etag.Generator, never, ServerResponse>;
126
+ export declare const fileWeb: (file: Body.Body.FileLike, options?: Options.WithContent & FileSystem.StreamOptions) => Effect.Effect<Platform.Platform, never, ServerResponse>;
127
127
  /**
128
128
  * @since 1.0.0
129
129
  * @category combinators
@@ -1 +1 @@
1
- {"version":3,"file":"ServerResponse.d.ts","sourceRoot":"","sources":["../src/Http/ServerResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerResponse.d.ts","sourceRoot":"","sources":["../src/Http/ServerResponse.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServerResponse.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeId","Symbol","for","exports","isServerResponse","empty","uint8Array","text","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","setBody"],"sources":["../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"ServerResponse.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeId","Symbol","for","exports","isServerResponse","empty","uint8Array","text","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","setBody"],"sources":["../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/internal/http/platform.ts"],"names":[],"mappings":""}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.tag = exports.make = exports.TypeId = void 0;
7
+ var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Context"));
8
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
9
+ var FileSystem = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/FileSystem"));
10
+ var Etag = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Etag"));
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ /** @internal */
14
+ const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Platform");
15
+ /** @internal */
16
+ exports.TypeId = TypeId;
17
+ const tag = /*#__PURE__*/Context.Tag(TypeId);
18
+ /** @internal */
19
+ exports.tag = tag;
20
+ const make = impl => Effect.gen(function* (_) {
21
+ const fs = yield* _(FileSystem.FileSystem);
22
+ const etagGen = yield* _(Etag.Generator);
23
+ return tag.of({
24
+ [TypeId]: TypeId,
25
+ fileResponse(path, options) {
26
+ return Effect.map(({
27
+ etag,
28
+ info
29
+ }) => {
30
+ const start = Number(options?.offset ?? 0);
31
+ const end = options?.bytesToRead !== undefined ? start + Number(options.bytesToRead) : undefined;
32
+ const headers = {
33
+ ...(options?.headers ?? {}),
34
+ etag: Etag.toString(etag)
35
+ };
36
+ if (info.mtime._tag === "Some") {
37
+ headers["last-modified"] = info.mtime.value.toUTCString();
38
+ }
39
+ const contentLength = end !== undefined ? end - start : Number(info.size) - start;
40
+ return impl.fileResponse(path, options?.status ?? 200, options?.statusText, headers, start, end, contentLength);
41
+ })(Effect.bind("etag", ({
42
+ info
43
+ }) => etagGen.fromFileInfo(info))(Effect.bindTo(fs.stat(path), "info")));
44
+ },
45
+ fileWebResponse(file, options) {
46
+ return Effect.map(etagGen.fromFileWeb(file), etag => {
47
+ const headers = {
48
+ ...(options?.headers ?? {}),
49
+ etag: Etag.toString(etag),
50
+ "last-modified": new Date(file.lastModified).toUTCString()
51
+ };
52
+ return impl.fileWebResponse(file, options?.status ?? 200, options?.statusText, headers, options);
53
+ });
54
+ }
55
+ });
56
+ });
57
+ exports.make = make;
58
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","names":["Context","_interopRequireWildcard","require","Effect","FileSystem","Etag","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeId","Symbol","for","exports","tag","Tag","make","impl","gen","_","fs","etagGen","Generator","of","fileResponse","path","options","map","etag","info","start","Number","offset","end","bytesToRead","undefined","headers","toString","mtime","_tag","value","toUTCString","contentLength","size","status","statusText","bind","fromFileInfo","bindTo","stat","fileWebResponse","file","fromFileWeb","Date","lastModified"],"sources":["../../src/internal/http/platform.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/internal/http/router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAU/C,OAAO,KAAK,KAAK,MAAM,MAAM,8BAA8B,CAAA;AAiZ3D,eAAO,MAAM,cAAc,6YAesB,CAAA"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/internal/http/router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAU/C,OAAO,KAAK,KAAK,MAAM,MAAM,8BAA8B,CAAA;AAoZ3D,eAAO,MAAM,cAAc,6YAesB,CAAA"}
@@ -100,7 +100,10 @@ const toHttpApp = self => {
100
100
  }
101
101
  }
102
102
  }
103
- const result = router.find(request.method, request.url);
103
+ let result = router.find(request.method, request.url);
104
+ if (result === null && request.method === "HEAD") {
105
+ result = router.find("GET", request.url);
106
+ }
104
107
  if (result === null) {
105
108
  return Effect.fail(Error.RouteNotFound({
106
109
  request
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","names":["Chunk","_interopRequireWildcard","require","Context","Equal","_Function","Hash","Option","_Pipeable","Effect","Error","ServerRequest","Schema","Channel","Sink","Stream","_findMyWay","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeId","Symbol","for","exports","RouteTypeId","RouteContextTypeId","RouteContext","Tag","params","map","_","searchParams","schemaParams","schema","parse","flatMap","RouterImpl","constructor","routes","mounts","_tag","EffectTypeId","undefined","StreamTypeId","SinkTypeId","ChannelTypeId","pipe","pipeArguments","arguments","commit","httpApp","toHttpApp","symbol","that","random","self","router","FindMyWay","toReadonlyArray","mountsLen","length","forEach","route","fn","method","all","path","on","request","i","app","url","startsWith","provideService","sliceRequestUrl","result","find","fail","RouteNotFound","handler","prefix","value","mapInputContext","context","add","RouteContextImpl","prefexLen","setUrl","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","dual","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","post","put","patch","del","head","options","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","tag","service","provideServiceEffect","effect"],"sources":["../../src/internal/http/router.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"router.js","names":["Chunk","_interopRequireWildcard","require","Context","Equal","_Function","Hash","Option","_Pipeable","Effect","Error","ServerRequest","Schema","Channel","Sink","Stream","_findMyWay","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeId","Symbol","for","exports","RouteTypeId","RouteContextTypeId","RouteContext","Tag","params","map","_","searchParams","schemaParams","schema","parse","flatMap","RouterImpl","constructor","routes","mounts","_tag","EffectTypeId","undefined","StreamTypeId","SinkTypeId","ChannelTypeId","pipe","pipeArguments","arguments","commit","httpApp","toHttpApp","symbol","that","random","self","router","FindMyWay","toReadonlyArray","mountsLen","length","forEach","route","fn","method","all","path","on","request","i","app","url","startsWith","provideService","sliceRequestUrl","result","find","fail","RouteNotFound","handler","prefix","value","mapInputContext","context","add","RouteContextImpl","prefexLen","setUrl","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","dual","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","post","put","patch","del","head","options","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","tag","service","provideServiceEffect","effect"],"sources":["../../src/internal/http/router.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -7,12 +7,10 @@ exports.urlParams = exports.unsafeJson = exports.uint8Array = exports.text = exp
7
7
  var _Function = /*#__PURE__*/require("@effect/data/Function");
8
8
  var _Pipeable = /*#__PURE__*/require("@effect/data/Pipeable");
9
9
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
10
- var FileSystem = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/FileSystem"));
11
- var Etag = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Etag"));
12
10
  var Headers = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Headers"));
11
+ var Platform = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Platform"));
13
12
  var UrlParams = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/UrlParams"));
14
13
  var internalBody = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/internal/http/body"));
15
- var Mime = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("mime"));
16
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
16
  /** @internal */
@@ -68,38 +66,10 @@ const schemaJson = schema => {
68
66
  };
69
67
  /** @internal */
70
68
  exports.schemaJson = schemaJson;
71
- const file = (path, options) => Effect.map(({
72
- body,
73
- etag,
74
- info
75
- }) => {
76
- const headers = {
77
- ...(options?.headers ?? {}),
78
- etag: Etag.toString(etag)
79
- };
80
- if (info.mtime._tag === "Some") {
81
- headers["last-modified"] = info.mtime.value.toUTCString();
82
- }
83
- return new ServerResponseImpl(options?.status ?? 200, options?.statusText, headers, body);
84
- })(Effect.bind("body", ({
85
- info
86
- }) => internalBody.fileInfo(path, info, {
87
- contentType: Mime.getType(path) ?? undefined,
88
- ...options
89
- }))(Effect.bind("etag", ({
90
- info
91
- }) => Effect.flatMap(Etag.Generator, generator => generator.fromFileInfo(info)))(Effect.bindTo(Effect.flatMap(FileSystem.FileSystem, fs => fs.stat(path)), "info"))));
69
+ const file = (path, options) => Effect.flatMap(Platform.Platform, platform => platform.fileResponse(path, options));
92
70
  /** @internal */
93
71
  exports.file = file;
94
- const fileWeb = (file, options) => Effect.flatMap(Etag.Generator, generator => Effect.map(generator.fromFileWeb(file), etag => {
95
- const body = internalBody.fileWeb(file);
96
- const headers = {
97
- ...(options?.headers ?? {}),
98
- etag: Etag.toString(etag),
99
- "last-modified": new Date(file.lastModified).toUTCString()
100
- };
101
- return new ServerResponseImpl(options?.status ?? 200, options?.statusText, headers, body);
102
- }));
72
+ const fileWeb = (file, options) => Effect.flatMap(Platform.Platform, platform => platform.fileWebResponse(file, options));
103
73
  /** @internal */
104
74
  exports.fileWeb = fileWeb;
105
75
  const urlParams = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.text(UrlParams.toString(UrlParams.fromInput(body)), "application/x-www-form-urlencoded"));
@@ -1 +1 @@
1
- {"version":3,"file":"serverResponse.js","names":["_Function","require","_Pipeable","Effect","_interopRequireWildcard","FileSystem","Etag","Headers","UrlParams","internalBody","Mime","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeId","Symbol","for","exports","ServerResponseImpl","constructor","status","statusText","headers","body","contentType","contentLength","newHeaders","toString","pipe","pipeArguments","arguments","isServerResponse","u","empty","options","uint8Array","getContentType","text","json","map","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","etag","info","mtime","_tag","value","toUTCString","bind","fileInfo","getType","undefined","flatMap","Generator","generator","fromFileInfo","bindTo","fs","stat","fileWeb","fromFileWeb","Date","lastModified","urlParams","fromInput","raw","formData","stream","setHeader","dual","self","setHeaders","input","setAll","setStatus","args","setBody","remove"],"sources":["../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"serverResponse.js","names":["_Function","require","_Pipeable","Effect","_interopRequireWildcard","Headers","Platform","UrlParams","internalBody","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TypeId","Symbol","for","exports","ServerResponseImpl","constructor","status","statusText","headers","body","contentType","contentLength","newHeaders","toString","pipe","pipeArguments","arguments","isServerResponse","u","empty","options","uint8Array","getContentType","text","json","map","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","flatMap","platform","fileResponse","fileWeb","fileWebResponse","urlParams","fromInput","raw","formData","stream","setHeader","dual","self","value","setHeaders","input","setAll","setStatus","args","setBody","_tag","remove"],"sources":["../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import * as internal from "@effect/platform/internal/http/platform";
2
+ /**
3
+ * @since 1.0.0
4
+ * @category type ids
5
+ */
6
+ export const TypeId = internal.TypeId;
7
+ /**
8
+ * @since 1.0.0
9
+ * @category tags
10
+ */
11
+ export const Platform = internal.tag;
12
+ /**
13
+ * @since 1.0.0
14
+ * @category constructors
15
+ */
16
+ export const make = internal.make;
17
+ //# sourceMappingURL=Platform.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Platform.mjs","names":["internal","TypeId","Platform","tag","make"],"sources":["../../src/Http/Platform.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,yCAAyC;AAEnE;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBD,QAAQ,CAACC,MAAM;AAQpD;;;;AAIA,OAAO,MAAMC,QAAQ,GAAoCF,QAAQ,CAACG,GAAG;AAkBrE;;;;AAIA,OAAO,MAAMC,IAAI,GAmB6DJ,QAAQ,CAACI,IAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServerResponse.mjs","names":["internal","TypeId","Symbol","for","isServerResponse","empty","uint8Array","text","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","setBody"],"sources":["../../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"AAWA,OAAO,KAAKA,QAAQ,MAAM,+CAA+C;AAIzE;;;;AAIA,OAAO,MAAMC,MAAM,gBAAGC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAiDxE;;;AAGA,OAAO,MAAMC,gBAAgB,GAAwCJ,QAAQ,CAACI,gBAAgB;AAE9F;;;;AAIA,OAAO,MAAMC,KAAK,GAAsDL,QAAQ,CAACK,KAAK;AAEtF;;;;AAIA,OAAO,MAAMC,UAAU,GAA4EN,QAAQ,CAACM,UAAU;AAEtH;;;;AAIA,OAAO,MAAMC,IAAI,GAAwEP,QAAQ,CAACO,IAAI;AAEtG;;;;AAIA,OAAO,MAAMC,IAAI,GAG2CR,QAAQ,CAACQ,IAAI;AAEzE;;;;AAIA,OAAO,MAAMC,UAAU,GAGrBT,QAAQ,CAACS,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,UAAU,GAAqEV,QAAQ,CAACU,UAAU;AAE/G;;;;AAIA,OAAO,MAAMC,SAAS,GAA6EX,QAAQ,CAACW,SAAS;AAErH;;;;AAIA,OAAO,MAAMC,GAAG,GAAyDZ,QAAQ,CAACY,GAAG;AAErF;;;;AAIA,OAAO,MAAMC,QAAQ,GAAsEb,QAAQ,CAACa,QAAQ;AAE5G;;;;AAIA,OAAO,MAAMC,MAAM,GACjBd,QAAQ,CAACc,MAAM;AAEjB;;;;AAIA,OAAO,MAAMC,IAAI,GAGyFf,QAAQ,CAACe,IAAI;AAEvH;;;;AAIA,OAAO,MAAMC,OAAO,GAGwChB,QAAQ,CAACgB,OAAO;AAE5E;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBjB,QAAQ,CAACiB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,UAAU,GAGnBlB,QAAQ,CAACkB,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,OAAO,GAGhBnB,QAAQ,CAACmB,OAAO"}
1
+ {"version":3,"file":"ServerResponse.mjs","names":["internal","TypeId","Symbol","for","isServerResponse","empty","uint8Array","text","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","setBody"],"sources":["../../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"AAWA,OAAO,KAAKA,QAAQ,MAAM,+CAA+C;AAIzE;;;;AAIA,OAAO,MAAMC,MAAM,gBAAGC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAiDxE;;;AAGA,OAAO,MAAMC,gBAAgB,GAAwCJ,QAAQ,CAACI,gBAAgB;AAE9F;;;;AAIA,OAAO,MAAMC,KAAK,GAAsDL,QAAQ,CAACK,KAAK;AAEtF;;;;AAIA,OAAO,MAAMC,UAAU,GAA4EN,QAAQ,CAACM,UAAU;AAEtH;;;;AAIA,OAAO,MAAMC,IAAI,GAAwEP,QAAQ,CAACO,IAAI;AAEtG;;;;AAIA,OAAO,MAAMC,IAAI,GAG2CR,QAAQ,CAACQ,IAAI;AAEzE;;;;AAIA,OAAO,MAAMC,UAAU,GAGrBT,QAAQ,CAACS,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,UAAU,GAAqEV,QAAQ,CAACU,UAAU;AAE/G;;;;AAIA,OAAO,MAAMC,SAAS,GAA6EX,QAAQ,CAACW,SAAS;AAErH;;;;AAIA,OAAO,MAAMC,GAAG,GAAyDZ,QAAQ,CAACY,GAAG;AAErF;;;;AAIA,OAAO,MAAMC,QAAQ,GAAsEb,QAAQ,CAACa,QAAQ;AAE5G;;;;AAIA,OAAO,MAAMC,MAAM,GACjBd,QAAQ,CAACc,MAAM;AAEjB;;;;AAIA,OAAO,MAAMC,IAAI,GAGoEf,QAAQ,CAACe,IAAI;AAElG;;;;AAIA,OAAO,MAAMC,OAAO,GAG2ChB,QAAQ,CAACgB,OAAO;AAE/E;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBjB,QAAQ,CAACiB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,UAAU,GAGnBlB,QAAQ,CAACkB,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,OAAO,GAGhBnB,QAAQ,CAACmB,OAAO"}
@@ -0,0 +1,47 @@
1
+ import * as Context from "@effect/data/Context";
2
+ import * as Effect from "@effect/io/Effect";
3
+ import * as FileSystem from "@effect/platform/FileSystem";
4
+ import * as Etag from "@effect/platform/Http/Etag";
5
+ /** @internal */
6
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Platform");
7
+ /** @internal */
8
+ export const tag = /*#__PURE__*/Context.Tag(TypeId);
9
+ /** @internal */
10
+ export const make = impl => Effect.gen(function* (_) {
11
+ const fs = yield* _(FileSystem.FileSystem);
12
+ const etagGen = yield* _(Etag.Generator);
13
+ return tag.of({
14
+ [TypeId]: TypeId,
15
+ fileResponse(path, options) {
16
+ return Effect.map(({
17
+ etag,
18
+ info
19
+ }) => {
20
+ const start = Number(options?.offset ?? 0);
21
+ const end = options?.bytesToRead !== undefined ? start + Number(options.bytesToRead) : undefined;
22
+ const headers = {
23
+ ...(options?.headers ?? {}),
24
+ etag: Etag.toString(etag)
25
+ };
26
+ if (info.mtime._tag === "Some") {
27
+ headers["last-modified"] = info.mtime.value.toUTCString();
28
+ }
29
+ const contentLength = end !== undefined ? end - start : Number(info.size) - start;
30
+ return impl.fileResponse(path, options?.status ?? 200, options?.statusText, headers, start, end, contentLength);
31
+ })(Effect.bind("etag", ({
32
+ info
33
+ }) => etagGen.fromFileInfo(info))(Effect.bindTo(fs.stat(path), "info")));
34
+ },
35
+ fileWebResponse(file, options) {
36
+ return Effect.map(etagGen.fromFileWeb(file), etag => {
37
+ const headers = {
38
+ ...(options?.headers ?? {}),
39
+ etag: Etag.toString(etag),
40
+ "last-modified": new Date(file.lastModified).toUTCString()
41
+ };
42
+ return impl.fileWebResponse(file, options?.status ?? 200, options?.statusText, headers, options);
43
+ });
44
+ }
45
+ });
46
+ });
47
+ //# sourceMappingURL=platform.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.mjs","names":["Context","Effect","FileSystem","Etag","TypeId","Symbol","for","tag","Tag","make","impl","gen","_","fs","etagGen","Generator","of","fileResponse","path","options","map","etag","info","start","Number","offset","end","bytesToRead","undefined","headers","toString","mtime","_tag","value","toUTCString","contentLength","size","status","statusText","bind","fromFileInfo","bindTo","stat","fileWebResponse","file","fromFileWeb","Date","lastModified"],"sources":["../../../src/internal/http/platform.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,OAAO,MAAM,sBAAsB;AAE/C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,UAAU,MAAM,6BAA6B;AAEzD,OAAO,KAAKC,IAAI,MAAM,4BAA4B;AAIlD;AACA,OAAO,MAAMC,MAAM,gBAAoBC,MAAM,CAACC,GAAG,CAAC,gCAAgC,CAAoB;AAEtG;AACA,OAAO,MAAMC,GAAG,gBAAGP,OAAO,CAACQ,GAAG,CAAoBJ,MAAM,CAAC;AAEzD;AACA,OAAO,MAAMK,IAAI,GAAIC,IAiBpB,IACCT,MAAM,CAACU,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMC,EAAE,GAAG,OAAOD,CAAC,CAACV,UAAU,CAACA,UAAU,CAAC;EAC1C,MAAMY,OAAO,GAAG,OAAOF,CAAC,CAACT,IAAI,CAACY,SAAS,CAAC;EAExC,OAAOR,GAAG,CAACS,EAAE,CAAC;IACZ,CAACZ,MAAM,GAAGA,MAAM;IAChBa,YAAYA,CAACC,IAAI,EAAEC,OAAO;MACxB,OAGElB,MAAM,CAACmB,GAAG,CAAC,CAAC;QAAEC,IAAI;QAAEC;MAAI,CAAE,KAAI;QAC5B,MAAMC,KAAK,GAAGC,MAAM,CAACL,OAAO,EAAEM,MAAM,IAAI,CAAC,CAAC;QAC1C,MAAMC,GAAG,GAAGP,OAAO,EAAEQ,WAAW,KAAKC,SAAS,GAAGL,KAAK,GAAGC,MAAM,CAACL,OAAO,CAACQ,WAAW,CAAC,GAAGC,SAAS;QAChG,MAAMC,OAAO,GAA2B;UACtC,IAAIV,OAAO,EAAEU,OAAO,IAAI,EAAE,CAAC;UAC3BR,IAAI,EAAElB,IAAI,CAAC2B,QAAQ,CAACT,IAAI;SACzB;QACD,IAAIC,IAAI,CAACS,KAAK,CAACC,IAAI,KAAK,MAAM,EAAE;UAC9BH,OAAO,CAAC,eAAe,CAAC,GAAGP,IAAI,CAACS,KAAK,CAACE,KAAK,CAACC,WAAW,EAAE;;QAE3D,MAAMC,aAAa,GAAGT,GAAG,KAAKE,SAAS,GAAGF,GAAG,GAAGH,KAAK,GAAGC,MAAM,CAACF,IAAI,CAACc,IAAI,CAAC,GAAGb,KAAK;QACjF,OAAOb,IAAI,CAACO,YAAY,CACtBC,IAAI,EACJC,OAAO,EAAEkB,MAAM,IAAI,GAAG,EACtBlB,OAAO,EAAEmB,UAAU,EACnBT,OAAO,EACPN,KAAK,EACLG,GAAG,EACHS,aAAa,CACd;MACH,CAAC,CAAC,CArBFlC,MAAM,CAACsC,IAAI,CAAC,MAAM,EAAE,CAAC;QAAEjB;MAAI,CAAE,KAAKR,OAAO,CAAC0B,YAAY,CAAClB,IAAI,CAAC,CAAC,CAD7DrB,MAAM,CAACwC,MAAM,CAAC5B,EAAE,CAAC6B,IAAI,CAACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IAwBxC,CAAC;IACDyB,eAAeA,CAACC,IAAI,EAAEzB,OAAO;MAC3B,OAAOlB,MAAM,CAACmB,GAAG,CAACN,OAAO,CAAC+B,WAAW,CAACD,IAAI,CAAC,EAAGvB,IAAI,IAAI;QACpD,MAAMQ,OAAO,GAA2B;UACtC,IAAIV,OAAO,EAAEU,OAAO,IAAI,EAAE,CAAC;UAC3BR,IAAI,EAAElB,IAAI,CAAC2B,QAAQ,CAACT,IAAI,CAAC;UACzB,eAAe,EAAE,IAAIyB,IAAI,CAACF,IAAI,CAACG,YAAY,CAAC,CAACb,WAAW;SACzD;QACD,OAAOxB,IAAI,CAACiC,eAAe,CACzBC,IAAI,EACJzB,OAAO,EAAEkB,MAAM,IAAI,GAAG,EACtBlB,OAAO,EAAEmB,UAAU,EACnBT,OAAO,EACPV,OAAO,CACR;MACH,CAAC,CAAC;IACJ;GACD,CAAC;AACJ,CAAC,CAAC"}
@@ -84,7 +84,10 @@ const toHttpApp = self => {
84
84
  }
85
85
  }
86
86
  }
87
- const result = router.find(request.method, request.url);
87
+ let result = router.find(request.method, request.url);
88
+ if (result === null && request.method === "HEAD") {
89
+ result = router.find("GET", request.url);
90
+ }
88
91
  if (result === null) {
89
92
  return Effect.fail(Error.RouteNotFound({
90
93
  request
@@ -1 +1 @@
1
- {"version":3,"file":"router.mjs","names":["Chunk","Context","Equal","dual","Hash","Option","pipeArguments","Effect","Error","ServerRequest","Schema","Channel","Sink","Stream","FindMyWay","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","Tag","params","map","_","searchParams","schemaParams","schema","parse","flatMap","RouterImpl","constructor","routes","mounts","_tag","EffectTypeId","undefined","StreamTypeId","SinkTypeId","ChannelTypeId","pipe","arguments","commit","httpApp","toHttpApp","symbol","that","random","self","router","toReadonlyArray","mountsLen","length","forEach","route","fn","method","all","path","on","request","i","app","url","startsWith","provideService","sliceRequestUrl","result","find","fail","RouteNotFound","handler","prefix","value","mapInputContext","context","add","RouteContextImpl","prefexLen","setUrl","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","get","post","put","patch","del","head","options","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","tag","service","provideServiceEffect","effect"],"sources":["../../../src/internal/http/router.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,oBAAoB;AAC3C,OAAO,KAAKC,OAAO,MAAM,sBAAsB;AAC/C,OAAO,KAAKC,KAAK,MAAM,oBAAoB;AAC3C,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,OAAO,KAAKC,IAAI,MAAM,mBAAmB;AACzC,OAAO,KAAKC,MAAM,MAAM,qBAAqB;AAC7C,SAASC,aAAa,QAAQ,uBAAuB;AAErD,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAI3C,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAC1D,OAAO,KAAKC,aAAa,MAAM,qCAAqC;AAEpE,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAC/C,OAAO,KAAKC,OAAO,MAAM,wBAAwB;AACjD,OAAO,KAAKC,IAAI,MAAM,qBAAqB;AAC3C,OAAO,KAAKC,MAAM,MAAM,uBAAuB;AAE/C,OAAOC,SAAS,MAAM,aAAa;AAEnC;AACA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAkB;AAEhG;AACA,OAAO,MAAMC,WAAW,gBAAuBF,MAAM,CAACC,GAAG,CAAC,oCAAoC,CAAuB;AAErH;AACA,OAAO,MAAME,kBAAkB,gBAA8BH,MAAM,CAACC,GAAG,CACrE,2CAA2C,CACf;AAE9B;AACA,OAAO,MAAMG,YAAY,gBAAGnB,OAAO,CAACoB,GAAG,CAAsB,2CAA2C,CAAC;AAEzG;AACA,OAAO,MAAMC,MAAM,gBAAGf,MAAM,CAACgB,GAAG,CAACH,YAAY,EAAGI,CAAC,IAAKA,CAAC,CAACF,MAAM,CAAC;AAE/D;AACA,OAAO,MAAMG,YAAY,gBAAGlB,MAAM,CAACgB,GAAG,CAACH,YAAY,EAAGI,CAAC,IAAKA,CAAC,CAACC,YAAY,CAAC;AAE3E;AACA,OAAO,MAAMC,YAAY,GAAmDC,MAA2B,IAAI;EACzG,MAAMC,KAAK,GAAGlB,MAAM,CAACkB,KAAK,CAACD,MAAM,CAAC;EAClC,OAAOpB,MAAM,CAACsB,OAAO,CACnBT,YAAY,EACXI,CAAC,IACAI,KAAK,CAAC;IACJ,GAAGJ,CAAC,CAACC,YAAY;IACjB,GAAGD,CAAC,CAACF;GACN,CAAC,CACL;AACH,CAAC;AAED,MAAMQ,UAAU;EAEdC,YACWC,MAAuC,EACvCC,MAAyD;IADzD,KAAAD,MAAM,GAANA,MAAM;IACN,KAAAC,MAAM,GAANA,MAAM;IAmBjB;IACO,KAAAC,IAAI,GAAG,QAAQ,EAAC;IAlBrB,IAAI,CAACnB,MAAM,CAAC,GAAGA,MAAM;IACrB,IAAI,CAACR,MAAM,CAAC4B,YAAY,CAAC,GAAGC,SAAS;IACrC,IAAI,CAACvB,MAAM,CAACwB,YAAY,CAAC,GAAGD,SAAS;IACrC,IAAI,CAACxB,IAAI,CAAC0B,UAAU,CAAC,GAAGF,SAAS;IACjC,IAAI,CAACzB,OAAO,CAAC4B,aAAa,CAAC,GAAGH,SAAS;EACzC;EACAI,IAAIA,CAAA;IACF,OAAOlC,aAAa,CAAC,IAAI,EAAEmC,SAAS,CAAC;EACvC;EAEAC,MAAMA,CAAA;IACJ,IAAI,IAAI,CAACC,OAAO,KAAKP,SAAS,EAAE;MAC9B,IAAI,CAACO,OAAO,GAAGC,SAAS,CAAC,IAAI,CAAC;;IAEhC,OAAO,IAAI,CAACD,OAAO;EACrB;EAQA,EAJUpC,MAAM,CAAC4B,YAAY,EACnBtB,MAAM,CAACwB,YAAY,EACnBzB,IAAI,CAAC0B,UAAU,EACf3B,OAAO,CAAC4B,aAAa,EAC9BrC,KAAK,CAAC2C,MAAM,GAEXC,IAAsB;IAEtB,OAAO,IAAI,KAAKA,IAAI;EACtB;EACA,CAAC1C,IAAI,CAACyC,MAAM,IAAC;IACX,OAAOzC,IAAI,CAAC2C,MAAM,CAAC,IAAI,CAAC;EAC1B;;AAGF,MAAMH,SAAS,GACbI,IAAyB,IACiD;EAC1E,MAAMC,MAAM,GAAGnC,SAAS,EAAE;EAC1B,MAAMmB,MAAM,GAAGjC,KAAK,CAACkD,eAAe,CAACF,IAAI,CAACf,MAAM,CAAC;EACjD,MAAMkB,SAAS,GAAGlB,MAAM,CAACmB,MAAM;EAC/BpD,KAAK,CAACqD,OAAO,CAACL,IAAI,CAAChB,MAAM,EAAGsB,KAAK,IAAI;IACnC,SAASC,EAAEA,CAAA;MACT,OAAOD,KAAK;IACd;IACA,IAAIA,KAAK,CAACE,MAAM,KAAK,GAAG,EAAE;MACxBP,MAAM,CAACQ,GAAG,CAACH,KAAK,CAACI,IAAI,EAAEH,EAAE,CAAC;KAC3B,MAAM;MACLN,MAAM,CAACU,EAAE,CAACL,KAAK,CAACE,MAAM,EAAEF,KAAK,CAACI,IAAI,EAAEH,EAAE,CAAC;;EAE3C,CAAC,CAAC;EACF,OAAOhD,MAAM,CAACsB,OAAO,CACnBpB,aAAa,CAACA,aAAa,EAC1BmD,OAAO,IAA4E;IAClF,IAAIT,SAAS,GAAG,CAAC,EAAE;MACjB,KAAK,IAAIU,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,SAAS,EAAEU,CAAC,EAAE,EAAE;QAClC,MAAM,CAACH,IAAI,EAAEI,GAAG,CAAC,GAAG7B,MAAM,CAAC4B,CAAC,CAAC;QAC7B,IAAID,OAAO,CAACG,GAAG,CAACC,UAAU,CAACN,IAAI,CAAC,EAAE;UAChC,OAAOnD,MAAM,CAAC0D,cAAc,CAC1BH,GAAG,EACHrD,aAAa,CAACA,aAAa,EAC3ByD,eAAe,CAACN,OAAO,EAAEF,IAAI,CAAC,CACqB;;;;IAK3D,MAAMS,MAAM,GAAGlB,MAAM,CAACmB,IAAI,CAACR,OAAO,CAACJ,MAAoB,EAAEI,OAAO,CAACG,GAAG,CAAC;IACrE,IAAII,MAAM,KAAK,IAAI,EAAE;MACnB,OAAO5D,MAAM,CAAC8D,IAAI,CAAC7D,KAAK,CAAC8D,aAAa,CAAC;QAAEV;MAAO,CAAE,CAAC,CAAC;;IAEtD,MAAMN,KAAK,GAAIa,MAAM,CAACI,OAAe,EAAwB;IAC7D,IAAIjB,KAAK,CAACkB,MAAM,CAACtC,IAAI,KAAK,MAAM,EAAE;MAChC0B,OAAO,GAAGM,eAAe,CAACN,OAAO,EAAEN,KAAK,CAACkB,MAAM,CAACC,KAAK,CAAC;;IAExD,OAAOlE,MAAM,CAACmE,eAAe,CAC3BpB,KAAK,CAACiB,OAA4F,EACjGI,OAAO,IACN1E,OAAO,CAAC2E,GAAG,CACT3E,OAAO,CAAC2E,GAAG,CAACD,OAAO,EAAElE,aAAa,CAACA,aAAa,EAAEmD,OAAO,CAAC,EAC1DxC,YAAY,EACZ,IAAIyD,gBAAgB,CAACV,MAAM,CAAC7C,MAAM,EAAE6C,MAAM,CAAC1C,YAAY,CAAC,CACnC,CAC1B;EACH,CAAC,CACF;AACH,CAAC;AAED,SAASyC,eAAeA,CAACN,OAAoC,EAAEY,MAAc;EAC3E,MAAMM,SAAS,GAAGN,MAAM,CAACpB,MAAM;EAC/B,OAAOQ,OAAO,CAACmB,MAAM,CAACnB,OAAO,CAACG,GAAG,CAACX,MAAM,IAAI0B,SAAS,GAAG,GAAG,GAAGlB,OAAO,CAACG,GAAG,CAACiB,KAAK,CAACF,SAAS,CAAC,CAAC;AAC7F;AAEA,MAAMG,SAAS;EAEblD,YACWyB,MAA2B,EAC3BE,IAAY,EACZa,OAAmC,EACnCC,MAAA,GAASnE,MAAM,CAAC6E,IAAI,EAAU;IAH9B,KAAA1B,MAAM,GAANA,MAAM;IACN,KAAAE,IAAI,GAAJA,IAAI;IACJ,KAAAa,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;IAEf,IAAI,CAACtD,WAAW,CAAC,GAAGA,WAAW;EACjC;;AAGF,MAAM2D,gBAAgB;EAEpB9C,YACWT,MAAoD,EACpDG,YAA8C;IAD9C,KAAAH,MAAM,GAANA,MAAM;IACN,KAAAG,YAAY,GAAZA,YAAY;IAErB,IAAI,CAACN,kBAAkB,CAAC,GAAGA,kBAAkB;EAC/C;;AAGF;AACA,OAAO,MAAMgE,KAAK,gBAAgC,IAAIrD,UAAU,eAAC9B,KAAK,CAACmF,KAAK,EAAE,eAAEnF,KAAK,CAACmF,KAAK,EAAE,CAAC;AAE9F;AACA,OAAO,MAAMC,YAAY,GACvBpD,MAAoC,IACZ,IAAIF,UAAU,CAAC9B,KAAK,CAACoF,YAAY,CAACpD,MAAM,CAAC,EAAEhC,KAAK,CAACmF,KAAK,EAAE,CAAC;AAEnF;AACA,OAAO,MAAME,SAAS,GAAGA,CACvB7B,MAAqB,EACrBE,IAAY,EACZa,OAAmC,EACnCC,MAAA,GAAgCnE,MAAM,CAAC6E,IAAI,EAAE,KACtB,IAAID,SAAS,CAACzB,MAAM,EAAEE,IAAI,EAAEa,OAAO,EAAEC,MAAM,CAAC;AAErE;AACA,OAAO,MAAMc,MAAM,gBAAGnF,IAAI,CAGxB,CAAC,EAAE,CAAC6C,IAAI,EAAEF,IAAI,KAAK,IAAIhB,UAAU,CAAC9B,KAAK,CAACuF,SAAS,CAACvC,IAAI,CAAChB,MAAM,EAAEc,IAAI,CAACd,MAAM,CAAQ,EAAEgB,IAAI,CAACf,MAAM,CAAC,CAAC;AAEnG,MAAMuD,mBAAmB,GAAI9B,IAAY,IAAMA,IAAI,CAAC+B,QAAQ,CAAC,GAAG,CAAC,GAAG/B,IAAI,CAACsB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAGtB,IAAK;AAE7F;AACA,OAAO,MAAMgC,SAAS,gBAAGvF,IAAI,CAI3B,CAAC,EACD,CAAC6C,IAAI,EAAEwB,MAAM,KAAI;EACfA,MAAM,GAAGgB,mBAAmB,CAAChB,MAAM,CAAC;EACpC,OAAO,IAAI1C,UAAU,CACnB9B,KAAK,CAACuB,GAAG,CAACyB,IAAI,CAAChB,MAAM,EAAGsB,KAAK,IAC3B,IAAI2B,SAAS,CACX3B,KAAK,CAACE,MAAM,EACZF,KAAK,CAACI,IAAI,KAAK,GAAG,GAAGc,MAAM,GAAGA,MAAM,GAAGlB,KAAK,CAACI,IAAI,EACjDJ,KAAK,CAACiB,OAAO,EACblE,MAAM,CAACsF,MAAM,CACXtF,MAAM,CAACkB,GAAG,CAAC+B,KAAK,CAACkB,MAAM,EAAGhD,CAAC,IAAKgD,MAAM,GAAGhD,CAAC,CAAC,EAC3C,MAAMnB,MAAM,CAACuF,IAAI,CAACpB,MAAM,CAAC,CAC1B,CACF,CAAC,EACJxE,KAAK,CAACuB,GAAG,CAACyB,IAAI,CAACf,MAAM,EAAE,CAAC,CAACyB,IAAI,EAAEI,GAAG,CAAC,KAAK,CAACJ,IAAI,KAAK,GAAG,GAAGc,MAAM,GAAGA,MAAM,GAAGd,IAAI,EAAEI,GAAG,CAAC,CAAC,CACtF;AACH,CAAC,CACF;AAED;AACA,OAAO,MAAM+B,KAAK,gBAAG1F,IAAI,CAWvB,CAAC,EACD,CAAC6C,IAAI,EAAEU,IAAI,EAAEZ,IAAI,KAAKwC,MAAM,CAACtC,IAAI,EAAE0C,SAAS,CAAC5C,IAAI,EAAEY,IAAI,CAAC,CAAC,CAC1D;AAED;AACA,OAAO,MAAMoC,QAAQ,gBAAG3F,IAAI,CAa1B,CAAC,EACD,CAAC6C,IAAI,EAAEU,IAAI,EAAEZ,IAAI,KACf,IAAIhB,UAAU,CAAWkB,IAAI,CAAChB,MAAM,EAAEhC,KAAK,CAAC+F,MAAM,CAAC/C,IAAI,CAACf,MAAM,EAAE,CAACuD,mBAAmB,CAAC9B,IAAI,CAAC,EAAEZ,IAAI,CAAC,CAAC,CAAC,CACtG;AAED;AACA,OAAO,MAAMQ,KAAK,GAAIE,MAA2B,IAa/CrD,IAAI,CAYF,CAAC,EAAE,CAAC6C,IAAI,EAAEU,IAAI,EAAEa,OAAO,KACvB,IAAIzC,UAAU,CACZ9B,KAAK,CAAC+F,MAAM,CAAC/C,IAAI,CAAChB,MAAM,EAAE,IAAIiD,SAAS,CAACzB,MAAM,EAAEE,IAAI,EAAEa,OAAO,CAAC,CAAC,EAC/DvB,IAAI,CAACf,MAAM,CACZ,CAAC;AAEN;AACA,OAAO,MAAMwB,GAAG,gBAAGH,KAAK,CAAC,GAAG,CAAC;AAE7B;AACA,OAAO,MAAM0C,GAAG,gBAAG1C,KAAK,CAAC,KAAK,CAAC;AAE/B;AACA,OAAO,MAAM2C,IAAI,gBAAG3C,KAAK,CAAC,MAAM,CAAC;AAEjC;AACA,OAAO,MAAM4C,GAAG,gBAAG5C,KAAK,CAAC,KAAK,CAAC;AAE/B;AACA,OAAO,MAAM6C,KAAK,gBAAG7C,KAAK,CAAC,OAAO,CAAC;AAEnC;AACA,OAAO,MAAM8C,GAAG,gBAAG9C,KAAK,CAAC,QAAQ,CAAC;AAElC;AACA,OAAO,MAAM+C,IAAI,gBAAG/C,KAAK,CAAC,MAAM,CAAC;AAEjC;AACA,OAAO,MAAMgD,OAAO,gBAAGhD,KAAK,CAAC,SAAS,CAAC;AAEvC;AACA,OAAO,MAAMiD,GAAG,gBAAGpG,IAAI,CAQrB,CAAC,EAAE,CAAC6C,IAAI,EAAEwD,CAAC,KACX,IAAI1E,UAAU,CACZ9B,KAAK,CAACuB,GAAG,CACPyB,IAAI,CAAChB,MAAM,EACVsB,KAAK,IAAK,IAAI2B,SAAS,CAAC3B,KAAK,CAACE,MAAM,EAAEF,KAAK,CAACI,IAAI,EAAE8C,CAAC,CAAClD,KAAK,CAACiB,OAAO,CAAQ,EAAEjB,KAAK,CAACkB,MAAM,CAAC,CAC1F,EACDxE,KAAK,CAACuB,GAAG,CACPyB,IAAI,CAACf,MAAM,EACX,CAAC,CAACyB,IAAI,EAAEI,GAAG,CAAC,KAAK,CAACJ,IAAI,EAAE8C,CAAC,CAAC1C,GAAU,CAAC,CAAC,CACvC,CACF,CAAC;AAEJ;AACA,OAAO,MAAM2C,QAAQ,gBAAGtG,IAAI,CAQ1B,CAAC,EAAE,CAAC6C,IAAI,EAAEwD,CAAC,KAAKD,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAACkG,QAAQ,CAACD,CAAC,CAAC,CAAC,CAAC;AAEhD;AACA,OAAO,MAAME,aAAa,gBAAGvG,IAAI,CAQ/B,CAAC,EAAE,CAAC6C,IAAI,EAAEwD,CAAC,KAAKD,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAACmG,aAAa,CAACF,CAAC,CAAC,CAAC,CAAC;AAErD;AACA,OAAO,MAAMG,QAAQ,gBAAGxG,IAAI,CAU1B,CAAC,EAAE,CAAC6C,IAAI,EAAE4D,CAAC,EAAEJ,CAAC,KAAKD,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAACoG,QAAQ,CAACC,CAAC,EAAEJ,CAAC,CAAC,CAAC,CAAC;AAEtD;AACA,OAAO,MAAMK,SAAS,gBAuClB1G,IAAI,CAAC,CAAC,EAAE,CAAC6C,IAA6B,EAAE8D,KAAS,KAAKP,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAACsG,SAAS,CAACC,KAAK,CAAC,CAAC,CAAC;AAE7F,OAAO,MAAM7C,cAAc,gBAAG9D,IAAI,CAUhC,CAAC,EAAE,CACH6C,IAAyB,EACzB+D,GAAM,EACNC,OAA+B,KAE/BT,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAAC0D,cAAc,CAAC8C,GAAG,EAAEC,OAAO,CAAC,CAAC,CAAC;AAEjD;AACA,OAAO,MAAMC,oBAAoB,gBAAG9G,IAAI,CAkBtC,CAAC,EAAE,CACH6C,IAAyB,EACzB+D,GAAM,EACNG,MAAqD,KAClDX,GAAG,CAACvD,IAAI,EAAEzC,MAAM,CAAC0G,oBAAoB,CAACF,GAAG,EAAEG,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"router.mjs","names":["Chunk","Context","Equal","dual","Hash","Option","pipeArguments","Effect","Error","ServerRequest","Schema","Channel","Sink","Stream","FindMyWay","TypeId","Symbol","for","RouteTypeId","RouteContextTypeId","RouteContext","Tag","params","map","_","searchParams","schemaParams","schema","parse","flatMap","RouterImpl","constructor","routes","mounts","_tag","EffectTypeId","undefined","StreamTypeId","SinkTypeId","ChannelTypeId","pipe","arguments","commit","httpApp","toHttpApp","symbol","that","random","self","router","toReadonlyArray","mountsLen","length","forEach","route","fn","method","all","path","on","request","i","app","url","startsWith","provideService","sliceRequestUrl","result","find","fail","RouteNotFound","handler","prefix","value","mapInputContext","context","add","RouteContextImpl","prefexLen","setUrl","slice","RouteImpl","none","empty","fromIterable","makeRoute","concat","appendAll","removeTrailingSlash","endsWith","prefixAll","orElse","some","mount","mountApp","append","get","post","put","patch","del","head","options","use","f","catchAll","catchAllCause","catchTag","k","catchTags","cases","tag","service","provideServiceEffect","effect"],"sources":["../../../src/internal/http/router.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { dual } from "@effect/data/Function";
2
2
  import { pipeArguments } from "@effect/data/Pipeable";
3
3
  import * as Effect from "@effect/io/Effect";
4
- import * as FileSystem from "@effect/platform/FileSystem";
5
- import * as Etag from "@effect/platform/Http/Etag";
6
4
  import * as Headers from "@effect/platform/Http/Headers";
5
+ import * as Platform from "@effect/platform/Http/Platform";
7
6
  import * as UrlParams from "@effect/platform/Http/UrlParams";
8
7
  import * as internalBody from "@effect/platform/internal/http/body";
9
- import * as Mime from "mime";
10
8
  /** @internal */
11
9
  export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ServerResponse");
12
10
  class ServerResponseImpl {
@@ -52,37 +50,9 @@ export const schemaJson = schema => {
52
50
  return (body, options) => Effect.map(encode(body), body => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, body));
53
51
  };
54
52
  /** @internal */
55
- export const file = (path, options) => Effect.map(({
56
- body,
57
- etag,
58
- info
59
- }) => {
60
- const headers = {
61
- ...(options?.headers ?? {}),
62
- etag: Etag.toString(etag)
63
- };
64
- if (info.mtime._tag === "Some") {
65
- headers["last-modified"] = info.mtime.value.toUTCString();
66
- }
67
- return new ServerResponseImpl(options?.status ?? 200, options?.statusText, headers, body);
68
- })(Effect.bind("body", ({
69
- info
70
- }) => internalBody.fileInfo(path, info, {
71
- contentType: Mime.getType(path) ?? undefined,
72
- ...options
73
- }))(Effect.bind("etag", ({
74
- info
75
- }) => Effect.flatMap(Etag.Generator, generator => generator.fromFileInfo(info)))(Effect.bindTo(Effect.flatMap(FileSystem.FileSystem, fs => fs.stat(path)), "info"))));
76
- /** @internal */
77
- export const fileWeb = (file, options) => Effect.flatMap(Etag.Generator, generator => Effect.map(generator.fromFileWeb(file), etag => {
78
- const body = internalBody.fileWeb(file);
79
- const headers = {
80
- ...(options?.headers ?? {}),
81
- etag: Etag.toString(etag),
82
- "last-modified": new Date(file.lastModified).toUTCString()
83
- };
84
- return new ServerResponseImpl(options?.status ?? 200, options?.statusText, headers, body);
85
- }));
53
+ export const file = (path, options) => Effect.flatMap(Platform.Platform, platform => platform.fileResponse(path, options));
54
+ /** @internal */
55
+ export const fileWeb = (file, options) => Effect.flatMap(Platform.Platform, platform => platform.fileWebResponse(file, options));
86
56
  /** @internal */
87
57
  export const urlParams = (body, options) => new ServerResponseImpl(options?.status ?? 200, options?.statusText, options?.headers ?? Headers.empty, internalBody.text(UrlParams.toString(UrlParams.fromInput(body)), "application/x-www-form-urlencoded"));
88
58
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"serverResponse.mjs","names":["dual","pipeArguments","Effect","FileSystem","Etag","Headers","UrlParams","internalBody","Mime","TypeId","Symbol","for","ServerResponseImpl","constructor","status","statusText","headers","body","contentType","contentLength","newHeaders","toString","pipe","arguments","isServerResponse","u","empty","options","uint8Array","getContentType","text","json","map","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","etag","info","mtime","_tag","value","toUTCString","bind","fileInfo","getType","undefined","flatMap","Generator","generator","fromFileInfo","bindTo","fs","stat","fileWeb","fromFileWeb","Date","lastModified","urlParams","fromInput","raw","formData","stream","setHeader","self","key","set","setHeaders","input","setAll","setStatus","args","setBody","remove"],"sources":["../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"serverResponse.mjs","names":["dual","pipeArguments","Effect","Headers","Platform","UrlParams","internalBody","TypeId","Symbol","for","ServerResponseImpl","constructor","status","statusText","headers","body","contentType","contentLength","newHeaders","toString","pipe","arguments","isServerResponse","u","empty","options","uint8Array","getContentType","text","json","map","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","flatMap","platform","fileResponse","fileWeb","fileWebResponse","urlParams","fromInput","raw","formData","stream","setHeader","self","key","value","set","setHeaders","input","setAll","setStatus","args","setBody","_tag","remove"],"sources":["../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -26,7 +26,6 @@
26
26
  "author": "Effect contributors",
27
27
  "dependencies": {
28
28
  "find-my-way": "^7.6.2",
29
- "mime": "^3.0.0",
30
29
  "path-browserify": "^1.0.1"
31
30
  },
32
31
  "peerDependencies": {
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Context from "@effect/data/Context"
5
+ import type * as Effect from "@effect/io/Effect"
6
+ import type * as Error from "@effect/platform/Error"
7
+ import type * as FileSystem from "@effect/platform/FileSystem"
8
+ import type * as Body from "@effect/platform/Http/Body"
9
+ import type * as Etag from "@effect/platform/Http/Etag"
10
+ import type * as ServerResponse from "@effect/platform/Http/ServerResponse"
11
+ import * as internal from "@effect/platform/internal/http/platform"
12
+
13
+ /**
14
+ * @since 1.0.0
15
+ * @category type ids
16
+ */
17
+ export const TypeId: unique symbol = internal.TypeId
18
+
19
+ /**
20
+ * @since 1.0.0
21
+ * @category type ids
22
+ */
23
+ export type TypeId = typeof TypeId
24
+
25
+ /**
26
+ * @since 1.0.0
27
+ * @category tags
28
+ */
29
+ export const Platform: Context.Tag<Platform, Platform> = internal.tag
30
+
31
+ /**
32
+ * @since 1.0.0
33
+ * @category models
34
+ */
35
+ export interface Platform {
36
+ readonly [TypeId]: TypeId
37
+ readonly fileResponse: (
38
+ path: string,
39
+ options?: ServerResponse.Options.WithContent & FileSystem.StreamOptions
40
+ ) => Effect.Effect<never, Error.PlatformError, ServerResponse.ServerResponse>
41
+ readonly fileWebResponse: (
42
+ file: Body.Body.FileLike,
43
+ options?: ServerResponse.Options.WithContent & FileSystem.StreamOptions
44
+ ) => Effect.Effect<never, never, ServerResponse.ServerResponse>
45
+ }
46
+
47
+ /**
48
+ * @since 1.0.0
49
+ * @category constructors
50
+ */
51
+ export const make: (
52
+ impl: {
53
+ readonly fileResponse: (
54
+ path: string,
55
+ status: number,
56
+ statusText: string | undefined,
57
+ headers: Record<string, string>,
58
+ start: number,
59
+ end: number | undefined,
60
+ contentLength: number
61
+ ) => ServerResponse.ServerResponse
62
+ readonly fileWebResponse: (
63
+ file: Body.Body.FileLike,
64
+ status: number,
65
+ statusText: string | undefined,
66
+ headers: Record<string, string>,
67
+ options?: FileSystem.StreamOptions | undefined
68
+ ) => ServerResponse.ServerResponse
69
+ }
70
+ ) => Effect.Effect<FileSystem.FileSystem | Etag.Generator, never, Platform> = internal.make
@@ -6,8 +6,8 @@ import type * as Effect from "@effect/io/Effect"
6
6
  import type * as PlatformError from "@effect/platform/Error"
7
7
  import type * as FileSystem from "@effect/platform/FileSystem"
8
8
  import type * as Body from "@effect/platform/Http/Body"
9
- import type * as Etag from "@effect/platform/Http/Etag"
10
9
  import type * as Headers from "@effect/platform/Http/Headers"
10
+ import type * as Platform from "@effect/platform/Http/Platform"
11
11
  import type * as UrlParams from "@effect/platform/Http/UrlParams"
12
12
  import * as internal from "@effect/platform/internal/http/serverResponse"
13
13
  import type * as Schema from "@effect/schema/Schema"
@@ -145,7 +145,7 @@ export const stream: (body: Stream.Stream<never, unknown, Uint8Array>, options?:
145
145
  export const file: (
146
146
  path: string,
147
147
  options?: Options & FileSystem.StreamOptions
148
- ) => Effect.Effect<FileSystem.FileSystem | Etag.Generator, PlatformError.PlatformError, ServerResponse> = internal.file
148
+ ) => Effect.Effect<Platform.Platform, PlatformError.PlatformError, ServerResponse> = internal.file
149
149
 
150
150
  /**
151
151
  * @since 1.0.0
@@ -153,8 +153,8 @@ export const file: (
153
153
  */
154
154
  export const fileWeb: (
155
155
  file: Body.Body.FileLike,
156
- options?: Options.WithContent
157
- ) => Effect.Effect<Etag.Generator, never, ServerResponse> = internal.fileWeb
156
+ options?: Options.WithContent & FileSystem.StreamOptions
157
+ ) => Effect.Effect<Platform.Platform, never, ServerResponse> = internal.fileWeb
158
158
 
159
159
  /**
160
160
  * @since 1.0.0
@@ -0,0 +1,85 @@
1
+ import * as Context from "@effect/data/Context"
2
+ import { pipe } from "@effect/data/Function"
3
+ import * as Effect from "@effect/io/Effect"
4
+ import * as FileSystem from "@effect/platform/FileSystem"
5
+ import type * as Body from "@effect/platform/Http/Body"
6
+ import * as Etag from "@effect/platform/Http/Etag"
7
+ import type * as Platform from "@effect/platform/Http/Platform"
8
+ import type * as ServerResponse from "@effect/platform/Http/ServerResponse"
9
+
10
+ /** @internal */
11
+ export const TypeId: Platform.TypeId = Symbol.for("@effect/platform/Http/Platform") as Platform.TypeId
12
+
13
+ /** @internal */
14
+ export const tag = Context.Tag<Platform.Platform>(TypeId)
15
+
16
+ /** @internal */
17
+ export const make = (impl: {
18
+ readonly fileResponse: (
19
+ path: string,
20
+ status: number,
21
+ statusText: string | undefined,
22
+ headers: Record<string, string>,
23
+ start: number,
24
+ end: number | undefined,
25
+ contentLength: number
26
+ ) => ServerResponse.ServerResponse
27
+ readonly fileWebResponse: (
28
+ file: Body.Body.FileLike,
29
+ status: number,
30
+ statusText: string | undefined,
31
+ headers: Record<string, string>,
32
+ options?: FileSystem.StreamOptions
33
+ ) => ServerResponse.ServerResponse
34
+ }): Effect.Effect<FileSystem.FileSystem | Etag.Generator, never, Platform.Platform> =>
35
+ Effect.gen(function*(_) {
36
+ const fs = yield* _(FileSystem.FileSystem)
37
+ const etagGen = yield* _(Etag.Generator)
38
+
39
+ return tag.of({
40
+ [TypeId]: TypeId,
41
+ fileResponse(path, options) {
42
+ return pipe(
43
+ Effect.bindTo(fs.stat(path), "info"),
44
+ Effect.bind("etag", ({ info }) => etagGen.fromFileInfo(info)),
45
+ Effect.map(({ etag, info }) => {
46
+ const start = Number(options?.offset ?? 0)
47
+ const end = options?.bytesToRead !== undefined ? start + Number(options.bytesToRead) : undefined
48
+ const headers: Record<string, string> = {
49
+ ...(options?.headers ?? {}),
50
+ etag: Etag.toString(etag)
51
+ }
52
+ if (info.mtime._tag === "Some") {
53
+ headers["last-modified"] = info.mtime.value.toUTCString()
54
+ }
55
+ const contentLength = end !== undefined ? end - start : Number(info.size) - start
56
+ return impl.fileResponse(
57
+ path,
58
+ options?.status ?? 200,
59
+ options?.statusText,
60
+ headers,
61
+ start,
62
+ end,
63
+ contentLength
64
+ )
65
+ })
66
+ )
67
+ },
68
+ fileWebResponse(file, options) {
69
+ return Effect.map(etagGen.fromFileWeb(file), (etag) => {
70
+ const headers: Record<string, string> = {
71
+ ...(options?.headers ?? {}),
72
+ etag: Etag.toString(etag),
73
+ "last-modified": new Date(file.lastModified).toUTCString()
74
+ }
75
+ return impl.fileWebResponse(
76
+ file,
77
+ options?.status ?? 200,
78
+ options?.statusText,
79
+ headers,
80
+ options
81
+ )
82
+ })
83
+ }
84
+ })
85
+ })
@@ -125,7 +125,10 @@ const toHttpApp = <R, E>(
125
125
  }
126
126
  }
127
127
 
128
- const result = router.find(request.method as HTTPMethod, request.url)
128
+ let result = router.find(request.method as HTTPMethod, request.url)
129
+ if (result === null && request.method === "HEAD") {
130
+ result = router.find("GET", request.url)
131
+ }
129
132
  if (result === null) {
130
133
  return Effect.fail(Error.RouteNotFound({ request }))
131
134
  }
@@ -139,7 +142,7 @@ const toHttpApp = <R, E>(
139
142
  Context.add(
140
143
  Context.add(context, ServerRequest.ServerRequest, request),
141
144
  RouteContext,
142
- new RouteContextImpl(result.params, result.searchParams)
145
+ new RouteContextImpl(result!.params, result!.searchParams)
143
146
  ) as Context.Context<R>
144
147
  )
145
148
  }
@@ -1,17 +1,16 @@
1
- import { dual, pipe } from "@effect/data/Function"
1
+ import { dual } from "@effect/data/Function"
2
2
  import { pipeArguments } from "@effect/data/Pipeable"
3
3
  import * as Effect from "@effect/io/Effect"
4
4
  import type * as PlatformError from "@effect/platform/Error"
5
- import * as FileSystem from "@effect/platform/FileSystem"
5
+ import type * as FileSystem from "@effect/platform/FileSystem"
6
6
  import type * as Body from "@effect/platform/Http/Body"
7
- import * as Etag from "@effect/platform/Http/Etag"
8
7
  import * as Headers from "@effect/platform/Http/Headers"
8
+ import * as Platform from "@effect/platform/Http/Platform"
9
9
  import type * as ServerResponse from "@effect/platform/Http/ServerResponse"
10
10
  import * as UrlParams from "@effect/platform/Http/UrlParams"
11
11
  import * as internalBody from "@effect/platform/internal/http/body"
12
12
  import type * as Schema from "@effect/schema/Schema"
13
13
  import type * as Stream from "@effect/stream/Stream"
14
- import * as Mime from "mime"
15
14
 
16
15
  /** @internal */
17
16
  export const TypeId: ServerResponse.TypeId = Symbol.for("@effect/platform/Http/ServerResponse") as ServerResponse.TypeId
@@ -125,60 +124,21 @@ export const schemaJson = <I, A>(
125
124
  export const file = (
126
125
  path: string,
127
126
  options?: ServerResponse.Options & FileSystem.StreamOptions
128
- ): Effect.Effect<
129
- FileSystem.FileSystem | Etag.Generator,
130
- PlatformError.PlatformError,
131
- ServerResponse.ServerResponse
132
- > =>
133
- pipe(
134
- Effect.bindTo(Effect.flatMap(FileSystem.FileSystem, (fs) => fs.stat(path)), "info"),
135
- Effect.bind("etag", ({ info }) =>
136
- Effect.flatMap(
137
- Etag.Generator,
138
- (generator) => generator.fromFileInfo(info)
139
- )),
140
- Effect.bind("body", ({ info }) =>
141
- internalBody.fileInfo(path, info, {
142
- contentType: Mime.getType(path) ?? undefined,
143
- ...options
144
- })),
145
- Effect.map(({ body, etag, info }) => {
146
- const headers: Record<string, string> = {
147
- ...(options?.headers ?? {}),
148
- etag: Etag.toString(etag)
149
- }
150
- if (info.mtime._tag === "Some") {
151
- headers["last-modified"] = info.mtime.value.toUTCString()
152
- }
153
- return new ServerResponseImpl(
154
- options?.status ?? 200,
155
- options?.statusText,
156
- headers,
157
- body
158
- )
159
- })
127
+ ): Effect.Effect<Platform.Platform, PlatformError.PlatformError, ServerResponse.ServerResponse> =>
128
+ Effect.flatMap(
129
+ Platform.Platform,
130
+ (platform) => platform.fileResponse(path, options)
160
131
  )
161
132
 
162
133
  /** @internal */
163
134
  export const fileWeb = (
164
135
  file: Body.Body.FileLike,
165
- options?: ServerResponse.Options.WithContent
166
- ): Effect.Effect<Etag.Generator, never, ServerResponse.ServerResponse> =>
167
- Effect.flatMap(Etag.Generator, (generator) =>
168
- Effect.map(generator.fromFileWeb(file), (etag) => {
169
- const body = internalBody.fileWeb(file)
170
- const headers: Record<string, string> = {
171
- ...(options?.headers ?? {}),
172
- etag: Etag.toString(etag),
173
- "last-modified": new Date(file.lastModified).toUTCString()
174
- }
175
- return new ServerResponseImpl(
176
- options?.status ?? 200,
177
- options?.statusText,
178
- headers,
179
- body
180
- )
181
- }))
136
+ options?: ServerResponse.Options.WithContent & FileSystem.StreamOptions
137
+ ): Effect.Effect<Platform.Platform, never, ServerResponse.ServerResponse> =>
138
+ Effect.flatMap(
139
+ Platform.Platform,
140
+ (platform) => platform.fileWebResponse(file, options)
141
+ )
182
142
 
183
143
  /** @internal */
184
144
  export const urlParams = (