@effect/platform-node 0.13.16 → 0.13.18
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/FileSystem.d.ts +5 -5
- package/FileSystem.d.ts.map +1 -1
- package/FileSystem.js.map +1 -1
- package/Http/FormData.d.ts +27 -0
- package/Http/FormData.d.ts.map +1 -0
- package/Http/FormData.js +38 -0
- package/Http/FormData.js.map +1 -0
- package/HttpServer.d.ts +3 -3
- package/HttpServer.d.ts.map +1 -1
- package/HttpServer.js +2 -2
- package/HttpServer.js.map +1 -1
- package/internal/http/formData.d.ts +3 -2
- package/internal/http/formData.d.ts.map +1 -1
- package/internal/http/formData.js +10 -7
- package/internal/http/formData.js.map +1 -1
- package/internal/http/server.js +9 -4
- package/internal/http/server.js.map +1 -1
- package/mjs/FileSystem.mjs.map +1 -1
- package/mjs/Http/FormData.mjs +13 -0
- package/mjs/Http/FormData.mjs.map +1 -0
- package/mjs/HttpServer.mjs +3 -3
- package/mjs/HttpServer.mjs.map +1 -1
- package/mjs/internal/http/formData.mjs +8 -5
- package/mjs/internal/http/formData.mjs.map +1 -1
- package/mjs/internal/http/server.mjs +9 -4
- package/mjs/internal/http/server.mjs.map +1 -1
- package/package.json +2 -2
- package/src/FileSystem.ts +5 -5
- package/src/Http/FormData.ts +35 -0
- package/src/HttpServer.ts +3 -3
- package/src/internal/http/formData.ts +12 -7
- package/src/internal/http/server.ts +9 -4
package/FileSystem.d.ts
CHANGED
|
@@ -34,6 +34,11 @@ ReadDirectoryOptions,
|
|
|
34
34
|
* @category model
|
|
35
35
|
*/
|
|
36
36
|
RemoveOptions,
|
|
37
|
+
/**
|
|
38
|
+
* @since 1.0.0
|
|
39
|
+
* @category model
|
|
40
|
+
*/
|
|
41
|
+
SeekMode,
|
|
37
42
|
/**
|
|
38
43
|
* @since 1.0.0
|
|
39
44
|
* @category model
|
|
@@ -55,11 +60,6 @@ export {
|
|
|
55
60
|
* @category tag
|
|
56
61
|
*/
|
|
57
62
|
FileSystem,
|
|
58
|
-
/**
|
|
59
|
-
* @since 1.0.0
|
|
60
|
-
* @category model
|
|
61
|
-
*/
|
|
62
|
-
SeekMode,
|
|
63
63
|
/**
|
|
64
64
|
* @since 1.0.0
|
|
65
65
|
* @category constructor
|
package/FileSystem.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["./src/FileSystem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,YAAY;AACV;;;GAGG;AACH,oBAAoB;AACpB;;;GAGG;AACH,wBAAwB;AACxB;;;GAGG;AACH,mBAAmB;AACnB;;;GAGG;AACH,eAAe;AACf;;;GAGG;AACH,oBAAoB;AACpB;;;GAGG;AACH,aAAa;AACb;;;GAGG;AACH,WAAW;AACX;;;GAGG;AACH,aAAa;AACb;;;GAGG;AACH,gBAAgB,EACjB,MAAM,6BAA6B,CAAA;AAEpC,OAAO;AACL;;;GAGG;AACH,UAAU;AACV;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"FileSystem.d.ts","sourceRoot":"","sources":["./src/FileSystem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,YAAY;AACV;;;GAGG;AACH,oBAAoB;AACpB;;;GAGG;AACH,wBAAwB;AACxB;;;GAGG;AACH,mBAAmB;AACnB;;;GAGG;AACH,eAAe;AACf;;;GAGG;AACH,oBAAoB;AACpB;;;GAGG;AACH,aAAa;AACb;;;GAGG;AACH,QAAQ;AACR;;;GAGG;AACH,WAAW;AACX;;;GAGG;AACH,aAAa;AACb;;;GAGG;AACH,gBAAgB,EACjB,MAAM,6BAA6B,CAAA;AAEpC,OAAO;AACL;;;GAGG;AACH,UAAU;AACV;;;GAGG;AACH,IAAI,EACL,MAAM,6BAA6B,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAkB,CAAA"}
|
package/FileSystem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.js","names":["internal","_interopRequireWildcard","require","_FileSystem","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","layer","exports"],"sources":["./src/FileSystem.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;AAKA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;
|
|
1
|
+
{"version":3,"file":"FileSystem.js","names":["internal","_interopRequireWildcard","require","_FileSystem","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","layer","exports"],"sources":["./src/FileSystem.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;AAKA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAwDA,IAAAC,WAAA,gBAAAD,OAAA;AAWoC,SAAAE,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,SAAAJ,wBAAAQ,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;AAxEpC;;;;AA0EA;;;;AAIO,MAAMW,KAAK,GAAoC1B,QAAQ,CAAC0B,KAAK;AAAAC,OAAA,CAAAD,KAAA,GAAAA,KAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/**
|
|
4
|
+
* @since 1.0.0
|
|
5
|
+
*
|
|
6
|
+
* Also includes exports from [`@effect/platform/Http/FormData`](https://effect-ts.github.io/platform/platform/Http/FormData.ts.html).
|
|
7
|
+
*/
|
|
8
|
+
import type * as Effect from "@effect/io/Effect";
|
|
9
|
+
import type * as Scope from "@effect/io/Scope";
|
|
10
|
+
import type * as FileSystem from "@effect/platform/FileSystem";
|
|
11
|
+
import type * as FormData from "@effect/platform/Http/FormData";
|
|
12
|
+
import type * as Path from "@effect/platform/Path";
|
|
13
|
+
import type * as Stream from "@effect/stream/Stream";
|
|
14
|
+
import type { IncomingHttpHeaders } from "node:http";
|
|
15
|
+
import type { Readable } from "node:stream";
|
|
16
|
+
export * from "@effect/platform/Http/FormData";
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
* @category constructors
|
|
20
|
+
*/
|
|
21
|
+
export declare const stream: (source: Readable, headers: IncomingHttpHeaders) => Stream.Stream<never, FormData.FormDataError, FormData.Part>;
|
|
22
|
+
/**
|
|
23
|
+
* @since 1.0.0
|
|
24
|
+
* @category constructors
|
|
25
|
+
*/
|
|
26
|
+
export declare const formData: (source: Readable, headers: IncomingHttpHeaders) => Effect.Effect<Path.Path | FileSystem.FileSystem | Scope.Scope, FormData.FormDataError, FormData>;
|
|
27
|
+
//# sourceMappingURL=FormData.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormData.d.ts","sourceRoot":"","sources":["../src/Http/FormData.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,KAAK,MAAM,kBAAkB,CAAA;AAE9C,OAAO,KAAK,KAAK,UAAU,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,KAAK,QAAQ,MAAM,gCAAgC,CAAA;AAC/D,OAAO,KAAK,KAAK,IAAI,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,cAAc,gCAAgC,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,CACnB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,mBAAmB,KACzB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAmB,CAAA;AAElF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,CACrB,MAAM,EAAE,QAAQ,EAChB,OAAO,EAAE,mBAAmB,KACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CACjF,CAAA"}
|
package/Http/FormData.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
stream: true,
|
|
8
|
+
formData: true
|
|
9
|
+
};
|
|
10
|
+
exports.stream = exports.formData = void 0;
|
|
11
|
+
var internal = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/internal/http/formData"));
|
|
12
|
+
var _FormData = /*#__PURE__*/require("@effect/platform/Http/FormData");
|
|
13
|
+
Object.keys(_FormData).forEach(function (key) {
|
|
14
|
+
if (key === "default" || key === "__esModule") return;
|
|
15
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
16
|
+
if (key in exports && exports[key] === _FormData[key]) return;
|
|
17
|
+
Object.defineProperty(exports, key, {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () {
|
|
20
|
+
return _FormData[key];
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
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); }
|
|
25
|
+
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; }
|
|
26
|
+
/**
|
|
27
|
+
* @since 1.0.0
|
|
28
|
+
* @category constructors
|
|
29
|
+
*/
|
|
30
|
+
const stream = internal.stream;
|
|
31
|
+
/**
|
|
32
|
+
* @since 1.0.0
|
|
33
|
+
* @category constructors
|
|
34
|
+
*/
|
|
35
|
+
exports.stream = stream;
|
|
36
|
+
const formData = internal.formData;
|
|
37
|
+
exports.formData = formData;
|
|
38
|
+
//# sourceMappingURL=FormData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormData.js","names":["internal","_interopRequireWildcard","require","_FormData","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","stream","formData"],"sources":["../src/Http/FormData.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAOA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAQA,IAAAC,SAAA,gBAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,SAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,SAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,SAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAA8C,SAAAS,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,SAAAhB,wBAAAoB,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,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA;AAE9C;;;;AAIO,MAAMK,MAAM,GAGgD/B,QAAQ,CAAC+B,MAAM;AAElF;;;;AAAAnB,OAAA,CAAAmB,MAAA,GAAAA,MAAA;AAIO,MAAMC,QAAQ,GAInBhC,QAAQ,CAACgC,QAAQ;AAAApB,OAAA,CAAAoB,QAAA,GAAAA,QAAA"}
|
package/HttpServer.d.ts
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as etag from "@effect/platform-node/Http/Etag";
|
|
5
|
+
import * as formData from "@effect/platform-node/Http/FormData";
|
|
5
6
|
import * as server from "@effect/platform-node/Http/Server";
|
|
6
7
|
import * as app from "@effect/platform/Http/App";
|
|
7
8
|
import * as body from "@effect/platform/Http/Body";
|
|
8
|
-
import * as formData from "@effect/platform/Http/FormData";
|
|
9
9
|
import * as headers from "@effect/platform/Http/Headers";
|
|
10
10
|
import * as middleware from "@effect/platform/Http/Middleware";
|
|
11
11
|
import * as router from "@effect/platform/Http/Router";
|
|
@@ -45,8 +45,8 @@ etag,
|
|
|
45
45
|
/**
|
|
46
46
|
* @since 1.0.0
|
|
47
47
|
*
|
|
48
|
-
* - Docs: [Http/FormData](https://effect-ts.github.io/platform/platform/Http/FormData.ts.html)
|
|
49
|
-
* - Module: `@effect/platform/Http/FormData`
|
|
48
|
+
* - Docs: [Http/FormData](https://effect-ts.github.io/platform/platform-node/Http/FormData.ts.html)
|
|
49
|
+
* - Module: `@effect/platform-node/Http/FormData`
|
|
50
50
|
*/
|
|
51
51
|
formData,
|
|
52
52
|
/**
|
package/HttpServer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["./src/HttpServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,iCAAiC,CAAA;AACvD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["./src/HttpServer.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,iCAAiC,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,qCAAqC,CAAA;AAC/D,OAAO,KAAK,MAAM,MAAM,mCAAmC,CAAA;AAC3D,OAAO,KAAK,GAAG,MAAM,2BAA2B,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,4BAA4B,CAAA;AAClD,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAA;AACxD,OAAO,KAAK,UAAU,MAAM,kCAAkC,CAAA;AAC9D,OAAO,KAAK,MAAM,MAAM,8BAA8B,CAAA;AACtD,OAAO,KAAK,KAAK,MAAM,mCAAmC,CAAA;AAC1D,OAAO,KAAK,OAAO,MAAM,qCAAqC,CAAA;AAC9D,OAAO,KAAK,QAAQ,MAAM,sCAAsC,CAAA;AAChE,OAAO,KAAK,SAAS,MAAM,iCAAiC,CAAA;AAE5D,OAAO;AACL;;;;;GAKG;AACH,GAAG;AACH;;;;;GAKG;AACH,IAAI;AACJ;;;;;GAKG;AACH,KAAK;AACL;;;;;GAKG;AACH,IAAI;AACJ;;;;;GAKG;AACH,QAAQ;AACR;;;;;GAKG;AACH,OAAO;AACP;;;;;GAKG;AACH,UAAU;AACV;;;;;GAKG;AACH,OAAO;AACP;;;;;GAKG;AACH,QAAQ;AACR;;;;;GAKG;AACH,MAAM;AACN;;;;;GAKG;AACH,MAAM;AACN;;;;;GAKG;AACH,SAAS,EACV,CAAA"}
|
package/HttpServer.js
CHANGED
|
@@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.urlParams = exports.server = exports.router = exports.response = exports.request = exports.middleware = exports.headers = exports.formData = exports.etag = exports.error = exports.body = exports.app = void 0;
|
|
7
7
|
var etag = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Http/Etag"));
|
|
8
8
|
exports.etag = etag;
|
|
9
|
+
var formData = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Http/FormData"));
|
|
10
|
+
exports.formData = formData;
|
|
9
11
|
var server = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Http/Server"));
|
|
10
12
|
exports.server = server;
|
|
11
13
|
var app = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/App"));
|
|
12
14
|
exports.app = app;
|
|
13
15
|
var body = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Body"));
|
|
14
16
|
exports.body = body;
|
|
15
|
-
var formData = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/FormData"));
|
|
16
|
-
exports.formData = formData;
|
|
17
17
|
var headers = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Headers"));
|
|
18
18
|
exports.headers = headers;
|
|
19
19
|
var middleware = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Middleware"));
|
package/HttpServer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpServer.js","names":["etag","_interopRequireWildcard","require","exports","server","app","body","
|
|
1
|
+
{"version":3,"file":"HttpServer.js","names":["etag","_interopRequireWildcard","require","exports","formData","server","app","body","headers","middleware","router","error","request","response","urlParams","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["./src/HttpServer.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,IAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAuDC,OAAA,CAAAH,IAAA,GAAAA,IAAA;AACvD,IAAAI,QAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAA+DC,OAAA,CAAAC,QAAA,GAAAA,QAAA;AAC/D,IAAAC,MAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAA2DC,OAAA,CAAAE,MAAA,GAAAA,MAAA;AAC3D,IAAAC,GAAA,gBAAAL,uBAAA,eAAAC,OAAA;AAAgDC,OAAA,CAAAG,GAAA,GAAAA,GAAA;AAChD,IAAAC,IAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAAkDC,OAAA,CAAAI,IAAA,GAAAA,IAAA;AAClD,IAAAC,OAAA,gBAAAP,uBAAA,eAAAC,OAAA;AAAwDC,OAAA,CAAAK,OAAA,GAAAA,OAAA;AACxD,IAAAC,UAAA,gBAAAR,uBAAA,eAAAC,OAAA;AAA8DC,OAAA,CAAAM,UAAA,GAAAA,UAAA;AAC9D,IAAAC,MAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAAsDC,OAAA,CAAAO,MAAA,GAAAA,MAAA;AACtD,IAAAC,KAAA,gBAAAV,uBAAA,eAAAC,OAAA;AAA0DC,OAAA,CAAAQ,KAAA,GAAAA,KAAA;AAC1D,IAAAC,OAAA,gBAAAX,uBAAA,eAAAC,OAAA;AAA8DC,OAAA,CAAAS,OAAA,GAAAA,OAAA;AAC9D,IAAAC,QAAA,gBAAAZ,uBAAA,eAAAC,OAAA;AAAgEC,OAAA,CAAAU,QAAA,GAAAA,QAAA;AAChE,IAAAC,SAAA,gBAAAb,uBAAA,eAAAC,OAAA;AAA4DC,OAAA,CAAAW,SAAA,GAAAA,SAAA;AAAA,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,SAAAf,wBAAAmB,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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as FormData from "@effect/platform/Http/FormData";
|
|
2
2
|
import * as Stream from "@effect/stream/Stream";
|
|
3
|
-
import type
|
|
4
|
-
|
|
3
|
+
import type { IncomingHttpHeaders } from "node:http";
|
|
4
|
+
import type { Readable } from "node:stream";
|
|
5
|
+
export declare const stream: (source: Readable, headers: IncomingHttpHeaders) => Stream.Stream<never, FormData.FormDataError, FormData.Part>;
|
|
5
6
|
//# sourceMappingURL=formData.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formData.d.ts","sourceRoot":"","sources":["../../src/internal/http/formData.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAA;AAE1D,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAG/C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"formData.d.ts","sourceRoot":"","sources":["../../src/internal/http/formData.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,QAAQ,MAAM,gCAAgC,CAAA;AAE1D,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAG/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAG3C,eAAO,MAAM,MAAM,WACT,QAAQ,WACP,mBAAmB,KAC3B,aAAa,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,SAAS,IAAI,CAiF1D,CAAA"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.stream = exports.formData = void 0;
|
|
7
7
|
var Chunk = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Chunk"));
|
|
8
8
|
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
|
|
9
9
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
|
|
@@ -19,7 +19,7 @@ var NodeStreamP = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("no
|
|
|
19
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
20
|
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); }
|
|
21
21
|
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; }
|
|
22
|
-
const
|
|
22
|
+
const stream = (source, headers) => Stream.unwrapScoped(Effect.map(({
|
|
23
23
|
busboy,
|
|
24
24
|
fieldMimeTypes
|
|
25
25
|
}) => Stream.mapEffect(Stream.async(emit => {
|
|
@@ -53,7 +53,7 @@ const fromRequest = source => Stream.unwrapScoped(Effect.map(({
|
|
|
53
53
|
maxFiles,
|
|
54
54
|
maxParts
|
|
55
55
|
}) => Effect.acquireRelease(Effect.sync(() => (0, _busboy.default)({
|
|
56
|
-
headers
|
|
56
|
+
headers,
|
|
57
57
|
limits: {
|
|
58
58
|
parts: Option.getOrUndefined(Option.map(maxParts, Number)),
|
|
59
59
|
files: Option.getOrUndefined(Option.map(maxFiles, Number)),
|
|
@@ -67,7 +67,7 @@ const fromRequest = source => Stream.unwrapScoped(Effect.map(({
|
|
|
67
67
|
busboy.destroy();
|
|
68
68
|
}
|
|
69
69
|
})))(Effect.bind("maxFileSize", () => FiberRef.get(FormData.maxFileSize))(Effect.bind("maxFieldSize", () => FiberRef.get(FormData.maxFieldSize))(Effect.bind("fieldMimeTypes", () => FiberRef.get(FormData.fieldMimeTypes))(Effect.bind("maxFiles", () => FiberRef.get(FormData.maxFiles))(Effect.bind("maxFields", () => FiberRef.get(FormData.maxFields))(Effect.bind("maxParts", () => FiberRef.get(FormData.maxParts))(Effect.Do)))))))));
|
|
70
|
-
exports.
|
|
70
|
+
exports.stream = stream;
|
|
71
71
|
class FieldImpl {
|
|
72
72
|
constructor(key, contentType, value) {
|
|
73
73
|
this.key = key;
|
|
@@ -91,16 +91,19 @@ class FileImpl {
|
|
|
91
91
|
}
|
|
92
92
|
FormData.TypeId;
|
|
93
93
|
/** @internal */
|
|
94
|
-
const formData = source => Effect.flatMap(Effect.all([Effect.mapError(Effect.flatMap(FileSystem.FileSystem, fs => fs.makeTempDirectoryScoped()), error => FormData.FormDataError("InternalError", error)), Path.Path]), ([dir, path_]) => Stream.runFoldEffect(
|
|
94
|
+
const formData = (source, headers) => Effect.flatMap(Effect.all([Effect.mapError(Effect.flatMap(FileSystem.FileSystem, fs => fs.makeTempDirectoryScoped()), error => FormData.FormDataError("InternalError", error)), Path.Path]), ([dir, path_]) => Stream.runFoldEffect(stream(source, headers), new globalThis.FormData(), (formData, part) => {
|
|
95
95
|
if (part._tag === "Field") {
|
|
96
96
|
formData.append(part.key, part.value);
|
|
97
97
|
return Effect.succeed(formData);
|
|
98
98
|
}
|
|
99
99
|
const file = part;
|
|
100
100
|
const path = path_.join(dir, file.name);
|
|
101
|
-
|
|
101
|
+
const blob = "Bun" in globalThis ? globalThis.Bun.file(path, {
|
|
102
102
|
type: file.contentType
|
|
103
|
-
}),
|
|
103
|
+
}) : new Blob([], {
|
|
104
|
+
type: file.contentType
|
|
105
|
+
});
|
|
106
|
+
formData.append(part.key, blob, path);
|
|
104
107
|
return Effect.as(Effect.tryPromise({
|
|
105
108
|
try: signal => NodeStreamP.pipeline(file.source, NodeFs.createWriteStream(path), {
|
|
106
109
|
signal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formData.js","names":["Chunk","_interopRequireWildcard","require","Option","Effect","FiberRef","NodeStream","FileSystem","FormData","Path","Stream","_busboy","_interopRequireDefault","NodeFs","NodeStreamP","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","
|
|
1
|
+
{"version":3,"file":"formData.js","names":["Chunk","_interopRequireWildcard","require","Option","Effect","FiberRef","NodeStream","FileSystem","FormData","Path","Stream","_busboy","_interopRequireDefault","NodeFs","NodeStreamP","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","stream","source","headers","unwrapScoped","map","busboy","fieldMimeTypes","mapEffect","async","emit","on","name","value","info","valueTruncated","fail","FormDataError","Error","single","FieldImpl","mimeType","once","FileImpl","filename","fromReadable","error","_","end","pipe","part","_tag","some","contentType","includes","toString","readable","onFailure","content","succeed","bind","maxFieldSize","maxFields","maxFileSize","maxFiles","maxParts","acquireRelease","sync","Busboy","limits","parts","getOrUndefined","Number","files","fields","fieldSize","fileSize","removeAllListeners","closed","destroy","Do","exports","constructor","TypeId","formData","flatMap","all","mapError","fs","makeTempDirectoryScoped","dir","path_","runFoldEffect","globalThis","append","file","path","join","blob","Bun","type","Blob","as","tryPromise","try","signal","pipeline","createWriteStream","catch"],"sources":["../../src/internal/http/formData.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/internal/http/server.js
CHANGED
|
@@ -59,10 +59,15 @@ const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
|
59
59
|
},
|
|
60
60
|
serve: (httpApp, middleware) => {
|
|
61
61
|
const handledApp = middleware ? middleware(respond(httpApp)) : respond(httpApp);
|
|
62
|
-
return Effect.flatMap(Effect.runtime(), runtime => {
|
|
62
|
+
return Effect.flatMap(Effect.all([Effect.runtime(), Effect.fiberId]), ([runtime, fiberId]) => {
|
|
63
63
|
const runFork = Runtime.runFork(runtime);
|
|
64
64
|
function handler(nodeRequest, nodeResponse) {
|
|
65
|
-
runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
|
|
65
|
+
const fiber = runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
|
|
66
|
+
nodeResponse.on("close", () => {
|
|
67
|
+
if (!nodeResponse.writableEnded) {
|
|
68
|
+
runFork(fiber.interruptAsFork(fiberId));
|
|
69
|
+
}
|
|
70
|
+
});
|
|
66
71
|
}
|
|
67
72
|
return Effect.all([Effect.acquireRelease(Effect.sync(() => server.on("request", handler)), () => Effect.sync(() => server.off("request", handler))), Fiber.join(serverFiber)], {
|
|
68
73
|
discard: true,
|
|
@@ -109,11 +114,11 @@ class ServerRequestImpl extends _incomingMessage.IncomingMessageImpl {
|
|
|
109
114
|
if (this.formDataEffect) {
|
|
110
115
|
return this.formDataEffect;
|
|
111
116
|
}
|
|
112
|
-
this.formDataEffect = Effect.runSync(Effect.cached(internalFormData.formData(this.source)));
|
|
117
|
+
this.formDataEffect = Effect.runSync(Effect.cached(internalFormData.formData(this.source, this.source.headers)));
|
|
113
118
|
return this.formDataEffect;
|
|
114
119
|
}
|
|
115
120
|
get formDataStream() {
|
|
116
|
-
return internalFormData.
|
|
121
|
+
return internalFormData.stream(this.source, this.source.headers);
|
|
117
122
|
}
|
|
118
123
|
setUrl(url) {
|
|
119
124
|
return new ServerRequestImpl(this.source, this.response, url, this.headersOverride);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","names":["Option","_interopRequireWildcard","require","Config","Effect","Fiber","Layer","Runtime","internalEtag","internalFormData","_incomingMessage","NodeSink","FileSystem","IncomingMessage","Middleware","Server","Error","ServerRequest","Stream","_nodeStream","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handledApp","respond","flatMap","runtime","runFork","handler","nodeRequest","nodeResponse","provideService","ServerRequestImpl","all","acquireRelease","sync","off","join","discard","concurrency","pipe","locally","maxBodySize","some","Size","exports","request","tapErrorCause","tap","response","handleResponse","_cause","headersSent","writeHead","writableEnded","end","IncomingMessageImpl","constructor","source","url","headersOverride","RequestError","reason","TypeId","originalUrl","method","headers","formData","formDataEffect","runSync","cached","formDataStream","fromRequest","setUrl","replaceHeaders","toString","toJSON","layer","merge","layerConfig","config","unwrap","suspend","body","status","r","Response","fromEntries","Readable","fromWeb","ResponseError","once","run","mapError","stream","fromWritable"],"sources":["../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","names":["Option","_interopRequireWildcard","require","Config","Effect","Fiber","Layer","Runtime","internalEtag","internalFormData","_incomingMessage","NodeSink","FileSystem","IncomingMessage","Middleware","Server","Error","ServerRequest","Stream","_nodeStream","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handledApp","respond","flatMap","all","runtime","fiberId","runFork","handler","nodeRequest","nodeResponse","fiber","provideService","ServerRequestImpl","writableEnded","interruptAsFork","acquireRelease","sync","off","join","discard","concurrency","pipe","locally","maxBodySize","some","Size","exports","request","tapErrorCause","tap","response","handleResponse","_cause","headersSent","writeHead","end","IncomingMessageImpl","constructor","source","url","headersOverride","RequestError","reason","TypeId","originalUrl","method","headers","formData","formDataEffect","runSync","cached","formDataStream","stream","setUrl","replaceHeaders","toString","toJSON","layer","merge","layerConfig","config","unwrap","suspend","body","status","r","Response","fromEntries","Readable","fromWeb","ResponseError","once","run","mapError","fromWritable"],"sources":["../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/mjs/FileSystem.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystem.mjs","names":["internal","FileSystem","Size","layer"],"sources":["../src/FileSystem.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAKA,OAAO,KAAKA,QAAQ,MAAM,2CAA2C;
|
|
1
|
+
{"version":3,"file":"FileSystem.mjs","names":["internal","FileSystem","Size","layer"],"sources":["../src/FileSystem.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAKA,OAAO,KAAKA,QAAQ,MAAM,2CAA2C;AAwDrE;AACE;;;;AAIAC,UAAU;AACV;;;;AAIAC,IAAI,QACC,6BAA6B;AAEpC;;;;AAIA,OAAO,MAAMC,KAAK,GAAoCH,QAAQ,CAACG,KAAK"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as internal from "@effect/platform-node/internal/http/formData";
|
|
2
|
+
export * from "@effect/platform/Http/FormData";
|
|
3
|
+
/**
|
|
4
|
+
* @since 1.0.0
|
|
5
|
+
* @category constructors
|
|
6
|
+
*/
|
|
7
|
+
export const stream = internal.stream;
|
|
8
|
+
/**
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category constructors
|
|
11
|
+
*/
|
|
12
|
+
export const formData = internal.formData;
|
|
13
|
+
//# sourceMappingURL=FormData.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormData.mjs","names":["internal","stream","formData"],"sources":["../../src/Http/FormData.ts"],"sourcesContent":[null],"mappings":"AAOA,OAAO,KAAKA,QAAQ,MAAM,8CAA8C;AAQxE,cAAc,gCAAgC;AAE9C;;;;AAIA,OAAO,MAAMC,MAAM,GAGgDD,QAAQ,CAACC,MAAM;AAElF;;;;AAIA,OAAO,MAAMC,QAAQ,GAInBF,QAAQ,CAACE,QAAQ"}
|
package/mjs/HttpServer.mjs
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as etag from "@effect/platform-node/Http/Etag";
|
|
5
|
+
import * as formData from "@effect/platform-node/Http/FormData";
|
|
5
6
|
import * as server from "@effect/platform-node/Http/Server";
|
|
6
7
|
import * as app from "@effect/platform/Http/App";
|
|
7
8
|
import * as body from "@effect/platform/Http/Body";
|
|
8
|
-
import * as formData from "@effect/platform/Http/FormData";
|
|
9
9
|
import * as headers from "@effect/platform/Http/Headers";
|
|
10
10
|
import * as middleware from "@effect/platform/Http/Middleware";
|
|
11
11
|
import * as router from "@effect/platform/Http/Router";
|
|
@@ -45,8 +45,8 @@ etag,
|
|
|
45
45
|
/**
|
|
46
46
|
* @since 1.0.0
|
|
47
47
|
*
|
|
48
|
-
* - Docs: [Http/FormData](https://effect-ts.github.io/platform/platform/Http/FormData.ts.html)
|
|
49
|
-
* - Module: `@effect/platform/Http/FormData`
|
|
48
|
+
* - Docs: [Http/FormData](https://effect-ts.github.io/platform/platform-node/Http/FormData.ts.html)
|
|
49
|
+
* - Module: `@effect/platform-node/Http/FormData`
|
|
50
50
|
*/
|
|
51
51
|
formData,
|
|
52
52
|
/**
|
package/mjs/HttpServer.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpServer.mjs","names":["etag","server","app","body","
|
|
1
|
+
{"version":3,"file":"HttpServer.mjs","names":["etag","formData","server","app","body","headers","middleware","router","error","request","response","urlParams"],"sources":["../src/HttpServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,iCAAiC;AACvD,OAAO,KAAKC,QAAQ,MAAM,qCAAqC;AAC/D,OAAO,KAAKC,MAAM,MAAM,mCAAmC;AAC3D,OAAO,KAAKC,GAAG,MAAM,2BAA2B;AAChD,OAAO,KAAKC,IAAI,MAAM,4BAA4B;AAClD,OAAO,KAAKC,OAAO,MAAM,+BAA+B;AACxD,OAAO,KAAKC,UAAU,MAAM,kCAAkC;AAC9D,OAAO,KAAKC,MAAM,MAAM,8BAA8B;AACtD,OAAO,KAAKC,KAAK,MAAM,mCAAmC;AAC1D,OAAO,KAAKC,OAAO,MAAM,qCAAqC;AAC9D,OAAO,KAAKC,QAAQ,MAAM,sCAAsC;AAChE,OAAO,KAAKC,SAAS,MAAM,iCAAiC;AAE5D;AACE;;;;;;AAMAR,GAAG;AACH;;;;;;AAMAC,IAAI;AACJ;;;;;;AAMAI,KAAK;AACL;;;;;;AAMAR,IAAI;AACJ;;;;;;AAMAC,QAAQ;AACR;;;;;;AAMAI,OAAO;AACP;;;;;;AAMAC,UAAU;AACV;;;;;;AAMAG,OAAO;AACP;;;;;;AAMAC,QAAQ;AACR;;;;;;AAMAH,MAAM;AACN;;;;;;AAMAL,MAAM;AACN;;;;;;AAMAS,SAAS"}
|
|
@@ -10,7 +10,7 @@ import * as Stream from "@effect/stream/Stream";
|
|
|
10
10
|
import Busboy from "busboy";
|
|
11
11
|
import * as NodeFs from "node:fs";
|
|
12
12
|
import * as NodeStreamP from "node:stream/promises";
|
|
13
|
-
export const
|
|
13
|
+
export const stream = (source, headers) => Stream.unwrapScoped(Effect.map(({
|
|
14
14
|
busboy,
|
|
15
15
|
fieldMimeTypes
|
|
16
16
|
}) => Stream.mapEffect(Stream.async(emit => {
|
|
@@ -44,7 +44,7 @@ export const fromRequest = source => Stream.unwrapScoped(Effect.map(({
|
|
|
44
44
|
maxFiles,
|
|
45
45
|
maxParts
|
|
46
46
|
}) => Effect.acquireRelease(Effect.sync(() => Busboy({
|
|
47
|
-
headers
|
|
47
|
+
headers,
|
|
48
48
|
limits: {
|
|
49
49
|
parts: Option.getOrUndefined(Option.map(maxParts, Number)),
|
|
50
50
|
files: Option.getOrUndefined(Option.map(maxFiles, Number)),
|
|
@@ -81,16 +81,19 @@ class FileImpl {
|
|
|
81
81
|
}
|
|
82
82
|
FormData.TypeId;
|
|
83
83
|
/** @internal */
|
|
84
|
-
export const formData = source => Effect.flatMap(Effect.all([Effect.mapError(Effect.flatMap(FileSystem.FileSystem, fs => fs.makeTempDirectoryScoped()), error => FormData.FormDataError("InternalError", error)), Path.Path]), ([dir, path_]) => Stream.runFoldEffect(
|
|
84
|
+
export const formData = (source, headers) => Effect.flatMap(Effect.all([Effect.mapError(Effect.flatMap(FileSystem.FileSystem, fs => fs.makeTempDirectoryScoped()), error => FormData.FormDataError("InternalError", error)), Path.Path]), ([dir, path_]) => Stream.runFoldEffect(stream(source, headers), new globalThis.FormData(), (formData, part) => {
|
|
85
85
|
if (part._tag === "Field") {
|
|
86
86
|
formData.append(part.key, part.value);
|
|
87
87
|
return Effect.succeed(formData);
|
|
88
88
|
}
|
|
89
89
|
const file = part;
|
|
90
90
|
const path = path_.join(dir, file.name);
|
|
91
|
-
|
|
91
|
+
const blob = "Bun" in globalThis ? globalThis.Bun.file(path, {
|
|
92
92
|
type: file.contentType
|
|
93
|
-
}),
|
|
93
|
+
}) : new Blob([], {
|
|
94
|
+
type: file.contentType
|
|
95
|
+
});
|
|
96
|
+
formData.append(part.key, blob, path);
|
|
94
97
|
return Effect.as(Effect.tryPromise({
|
|
95
98
|
try: signal => NodeStreamP.pipeline(file.source, NodeFs.createWriteStream(path), {
|
|
96
99
|
signal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formData.mjs","names":["Chunk","Option","Effect","FiberRef","NodeStream","FileSystem","FormData","Path","Stream","Busboy","NodeFs","NodeStreamP","
|
|
1
|
+
{"version":3,"file":"formData.mjs","names":["Chunk","Option","Effect","FiberRef","NodeStream","FileSystem","FormData","Path","Stream","Busboy","NodeFs","NodeStreamP","stream","source","headers","unwrapScoped","map","busboy","fieldMimeTypes","mapEffect","async","emit","on","name","value","info","valueTruncated","fail","FormDataError","Error","single","FieldImpl","mimeType","once","FileImpl","filename","fromReadable","error","_","end","pipe","part","_tag","some","contentType","includes","toString","readable","onFailure","content","key","succeed","bind","maxFieldSize","maxFields","maxFileSize","maxFiles","maxParts","acquireRelease","sync","limits","parts","getOrUndefined","Number","files","fields","fieldSize","fileSize","removeAllListeners","closed","destroy","get","Do","constructor","TypeId","formData","flatMap","all","mapError","fs","makeTempDirectoryScoped","dir","path_","runFoldEffect","globalThis","append","file","path","join","blob","Bun","type","Blob","as","tryPromise","try","signal","pipeline","createWriteStream","catch"],"sources":["../../../src/internal/http/formData.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -51,10 +51,15 @@ export const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
|
51
51
|
},
|
|
52
52
|
serve: (httpApp, middleware) => {
|
|
53
53
|
const handledApp = middleware ? middleware(respond(httpApp)) : respond(httpApp);
|
|
54
|
-
return Effect.flatMap(Effect.runtime(), runtime => {
|
|
54
|
+
return Effect.flatMap(Effect.all([Effect.runtime(), Effect.fiberId]), ([runtime, fiberId]) => {
|
|
55
55
|
const runFork = Runtime.runFork(runtime);
|
|
56
56
|
function handler(nodeRequest, nodeResponse) {
|
|
57
|
-
runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
|
|
57
|
+
const fiber = runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
|
|
58
|
+
nodeResponse.on("close", () => {
|
|
59
|
+
if (!nodeResponse.writableEnded) {
|
|
60
|
+
runFork(fiber.interruptAsFork(fiberId));
|
|
61
|
+
}
|
|
62
|
+
});
|
|
58
63
|
}
|
|
59
64
|
return Effect.all([Effect.acquireRelease(Effect.sync(() => server.on("request", handler)), () => Effect.sync(() => server.off("request", handler))), Fiber.join(serverFiber)], {
|
|
60
65
|
discard: true,
|
|
@@ -100,11 +105,11 @@ class ServerRequestImpl extends IncomingMessageImpl {
|
|
|
100
105
|
if (this.formDataEffect) {
|
|
101
106
|
return this.formDataEffect;
|
|
102
107
|
}
|
|
103
|
-
this.formDataEffect = Effect.runSync(Effect.cached(internalFormData.formData(this.source)));
|
|
108
|
+
this.formDataEffect = Effect.runSync(Effect.cached(internalFormData.formData(this.source, this.source.headers)));
|
|
104
109
|
return this.formDataEffect;
|
|
105
110
|
}
|
|
106
111
|
get formDataStream() {
|
|
107
|
-
return internalFormData.
|
|
112
|
+
return internalFormData.stream(this.source, this.source.headers);
|
|
108
113
|
}
|
|
109
114
|
setUrl(url) {
|
|
110
115
|
return new ServerRequestImpl(this.source, this.response, url, this.headersOverride);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.mjs","names":["Option","Config","Effect","Fiber","Layer","Runtime","internalEtag","internalFormData","IncomingMessageImpl","NodeSink","FileSystem","IncomingMessage","Middleware","Server","Error","ServerRequest","Stream","Readable","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handledApp","respond","flatMap","runtime","runFork","handler","nodeRequest","nodeResponse","provideService","ServerRequestImpl","
|
|
1
|
+
{"version":3,"file":"server.mjs","names":["Option","Config","Effect","Fiber","Layer","Runtime","internalEtag","internalFormData","IncomingMessageImpl","NodeSink","FileSystem","IncomingMessage","Middleware","Server","Error","ServerRequest","Stream","Readable","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handledApp","respond","flatMap","all","runtime","fiberId","runFork","handler","nodeRequest","nodeResponse","fiber","provideService","ServerRequestImpl","writableEnded","interruptAsFork","acquireRelease","sync","off","join","discard","concurrency","pipe","locally","maxBodySize","some","Size","request","tapErrorCause","tap","response","handleResponse","_cause","headersSent","writeHead","end","constructor","source","url","headersOverride","RequestError","reason","TypeId","originalUrl","method","headers","formData","formDataEffect","runSync","cached","formDataStream","stream","setUrl","replaceHeaders","toString","toJSON","layer","merge","layerConfig","config","unwrap","suspend","body","status","r","Response","Object","fromEntries","fromWeb","ResponseError","once","run","mapError","fromWritable"],"sources":["../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform-node",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.18",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -31,6 +31,6 @@
|
|
|
31
31
|
"@effect/data": "^0.17.5",
|
|
32
32
|
"@effect/io": "^0.38.2",
|
|
33
33
|
"@effect/stream": "^0.34.0",
|
|
34
|
-
"@effect/platform": "^0.13.
|
|
34
|
+
"@effect/platform": "^0.13.16"
|
|
35
35
|
}
|
|
36
36
|
}
|
package/src/FileSystem.ts
CHANGED
|
@@ -37,6 +37,11 @@ export type {
|
|
|
37
37
|
* @category model
|
|
38
38
|
*/
|
|
39
39
|
RemoveOptions,
|
|
40
|
+
/**
|
|
41
|
+
* @since 1.0.0
|
|
42
|
+
* @category model
|
|
43
|
+
*/
|
|
44
|
+
SeekMode,
|
|
40
45
|
/**
|
|
41
46
|
* @since 1.0.0
|
|
42
47
|
* @category model
|
|
@@ -60,11 +65,6 @@ export {
|
|
|
60
65
|
* @category tag
|
|
61
66
|
*/
|
|
62
67
|
FileSystem,
|
|
63
|
-
/**
|
|
64
|
-
* @since 1.0.0
|
|
65
|
-
* @category model
|
|
66
|
-
*/
|
|
67
|
-
SeekMode,
|
|
68
68
|
/**
|
|
69
69
|
* @since 1.0.0
|
|
70
70
|
* @category constructor
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*
|
|
4
|
+
* Also includes exports from [`@effect/platform/Http/FormData`](https://effect-ts.github.io/platform/platform/Http/FormData.ts.html).
|
|
5
|
+
*/
|
|
6
|
+
import type * as Effect from "@effect/io/Effect"
|
|
7
|
+
import type * as Scope from "@effect/io/Scope"
|
|
8
|
+
import * as internal from "@effect/platform-node/internal/http/formData"
|
|
9
|
+
import type * as FileSystem from "@effect/platform/FileSystem"
|
|
10
|
+
import type * as FormData from "@effect/platform/Http/FormData"
|
|
11
|
+
import type * as Path from "@effect/platform/Path"
|
|
12
|
+
import type * as Stream from "@effect/stream/Stream"
|
|
13
|
+
import type { IncomingHttpHeaders } from "node:http"
|
|
14
|
+
import type { Readable } from "node:stream"
|
|
15
|
+
|
|
16
|
+
export * from "@effect/platform/Http/FormData"
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @since 1.0.0
|
|
20
|
+
* @category constructors
|
|
21
|
+
*/
|
|
22
|
+
export const stream: (
|
|
23
|
+
source: Readable,
|
|
24
|
+
headers: IncomingHttpHeaders
|
|
25
|
+
) => Stream.Stream<never, FormData.FormDataError, FormData.Part> = internal.stream
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
* @category constructors
|
|
30
|
+
*/
|
|
31
|
+
export const formData: (
|
|
32
|
+
source: Readable,
|
|
33
|
+
headers: IncomingHttpHeaders
|
|
34
|
+
) => Effect.Effect<Path.Path | FileSystem.FileSystem | Scope.Scope, FormData.FormDataError, FormData> =
|
|
35
|
+
internal.formData
|
package/src/HttpServer.ts
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as etag from "@effect/platform-node/Http/Etag"
|
|
5
|
+
import * as formData from "@effect/platform-node/Http/FormData"
|
|
5
6
|
import * as server from "@effect/platform-node/Http/Server"
|
|
6
7
|
import * as app from "@effect/platform/Http/App"
|
|
7
8
|
import * as body from "@effect/platform/Http/Body"
|
|
8
|
-
import * as formData from "@effect/platform/Http/FormData"
|
|
9
9
|
import * as headers from "@effect/platform/Http/Headers"
|
|
10
10
|
import * as middleware from "@effect/platform/Http/Middleware"
|
|
11
11
|
import * as router from "@effect/platform/Http/Router"
|
|
@@ -46,8 +46,8 @@ export {
|
|
|
46
46
|
/**
|
|
47
47
|
* @since 1.0.0
|
|
48
48
|
*
|
|
49
|
-
* - Docs: [Http/FormData](https://effect-ts.github.io/platform/platform/Http/FormData.ts.html)
|
|
50
|
-
* - Module: `@effect/platform/Http/FormData`
|
|
49
|
+
* - Docs: [Http/FormData](https://effect-ts.github.io/platform/platform-node/Http/FormData.ts.html)
|
|
50
|
+
* - Module: `@effect/platform-node/Http/FormData`
|
|
51
51
|
*/
|
|
52
52
|
formData,
|
|
53
53
|
/**
|
|
@@ -10,12 +10,13 @@ import * as Path from "@effect/platform/Path"
|
|
|
10
10
|
import * as Stream from "@effect/stream/Stream"
|
|
11
11
|
import Busboy from "busboy"
|
|
12
12
|
import * as NodeFs from "node:fs"
|
|
13
|
-
import type
|
|
13
|
+
import type { IncomingHttpHeaders } from "node:http"
|
|
14
14
|
import type { Readable } from "node:stream"
|
|
15
15
|
import * as NodeStreamP from "node:stream/promises"
|
|
16
16
|
|
|
17
|
-
export const
|
|
18
|
-
source:
|
|
17
|
+
export const stream = (
|
|
18
|
+
source: Readable,
|
|
19
|
+
headers: IncomingHttpHeaders
|
|
19
20
|
): Stream.Stream<never, FormData.FormDataError, FormData.Part> =>
|
|
20
21
|
pipe(
|
|
21
22
|
Effect.Do,
|
|
@@ -30,7 +31,7 @@ export const fromRequest = (
|
|
|
30
31
|
Effect.sync(
|
|
31
32
|
() =>
|
|
32
33
|
Busboy({
|
|
33
|
-
headers
|
|
34
|
+
headers,
|
|
34
35
|
limits: {
|
|
35
36
|
parts: Option.getOrUndefined(Option.map(maxParts, Number)),
|
|
36
37
|
files: Option.getOrUndefined(Option.map(maxFiles, Number)),
|
|
@@ -127,7 +128,8 @@ class FileImpl implements FormData.File {
|
|
|
127
128
|
|
|
128
129
|
/** @internal */
|
|
129
130
|
export const formData = (
|
|
130
|
-
source:
|
|
131
|
+
source: Readable,
|
|
132
|
+
headers: IncomingHttpHeaders
|
|
131
133
|
) =>
|
|
132
134
|
Effect.flatMap(
|
|
133
135
|
Effect.all([
|
|
@@ -139,7 +141,7 @@ export const formData = (
|
|
|
139
141
|
]),
|
|
140
142
|
([dir, path_]) =>
|
|
141
143
|
Stream.runFoldEffect(
|
|
142
|
-
|
|
144
|
+
stream(source, headers),
|
|
143
145
|
new globalThis.FormData(),
|
|
144
146
|
(formData, part) => {
|
|
145
147
|
if (part._tag === "Field") {
|
|
@@ -148,7 +150,10 @@ export const formData = (
|
|
|
148
150
|
}
|
|
149
151
|
const file = part as FileImpl
|
|
150
152
|
const path = path_.join(dir, file.name)
|
|
151
|
-
|
|
153
|
+
const blob = "Bun" in globalThis ?
|
|
154
|
+
(globalThis as any).Bun.file(path, { type: file.contentType })
|
|
155
|
+
: new Blob([], { type: file.contentType })
|
|
156
|
+
formData.append(part.key, blob, path)
|
|
152
157
|
return Effect.as(
|
|
153
158
|
Effect.tryPromise({
|
|
154
159
|
try: (signal) =>
|
|
@@ -78,16 +78,21 @@ export const make = (
|
|
|
78
78
|
},
|
|
79
79
|
serve: (httpApp, middleware) => {
|
|
80
80
|
const handledApp = middleware ? middleware(respond(httpApp)) : respond(httpApp)
|
|
81
|
-
return Effect.flatMap(Effect.runtime(), (runtime) => {
|
|
81
|
+
return Effect.flatMap(Effect.all([Effect.runtime(), Effect.fiberId]), ([runtime, fiberId]) => {
|
|
82
82
|
const runFork = Runtime.runFork(runtime)
|
|
83
83
|
function handler(nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse) {
|
|
84
|
-
runFork(
|
|
84
|
+
const fiber = runFork(
|
|
85
85
|
Effect.provideService(
|
|
86
86
|
handledApp,
|
|
87
87
|
ServerRequest.ServerRequest,
|
|
88
88
|
new ServerRequestImpl(nodeRequest, nodeResponse)
|
|
89
89
|
)
|
|
90
90
|
)
|
|
91
|
+
nodeResponse.on("close", () => {
|
|
92
|
+
if (!nodeResponse.writableEnded) {
|
|
93
|
+
runFork(fiber.interruptAsFork(fiberId))
|
|
94
|
+
}
|
|
95
|
+
})
|
|
91
96
|
}
|
|
92
97
|
return Effect.all([
|
|
93
98
|
Effect.acquireRelease(
|
|
@@ -170,13 +175,13 @@ class ServerRequestImpl extends IncomingMessageImpl<Error.RequestError> implemen
|
|
|
170
175
|
return this.formDataEffect
|
|
171
176
|
}
|
|
172
177
|
this.formDataEffect = Effect.runSync(Effect.cached(
|
|
173
|
-
internalFormData.formData(this.source)
|
|
178
|
+
internalFormData.formData(this.source, this.source.headers)
|
|
174
179
|
))
|
|
175
180
|
return this.formDataEffect
|
|
176
181
|
}
|
|
177
182
|
|
|
178
183
|
get formDataStream(): Stream.Stream<never, FormData.FormDataError, FormData.Part> {
|
|
179
|
-
return internalFormData.
|
|
184
|
+
return internalFormData.stream(this.source, this.source.headers)
|
|
180
185
|
}
|
|
181
186
|
|
|
182
187
|
setUrl(url: string): ServerRequest.ServerRequest {
|