@effect-app/infra 1.18.2 → 1.19.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 1.19.0
4
+
5
+ ### Minor Changes
6
+
7
+ - a40d2bf: port middlewares
8
+
9
+ ## 1.18.3
10
+
11
+ ### Patch Changes
12
+
13
+ - 38c0e65: cleanup
14
+ - Updated dependencies [38c0e65]
15
+ - effect-app@1.17.1
16
+ - @effect-app/infra-adapters@1.11.3
17
+
3
18
  ## 1.18.2
4
19
 
5
20
  ### Patch Changes
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.uuidLogAnnotation = exports.errorLog = exports.endpointCallsMetric = exports.cors = exports.basicAuth = exports.accessLog = void 0;
7
+ var internal = _interopRequireWildcard(require("./internal/middlewares.cjs"));
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ /**
11
+ * Add access logs for handled requests. The log runs before each request.
12
+ * Optionally configure log level using the first argument. The default log level
13
+ * is `Debug`.
14
+ *
15
+ * @category logging
16
+ * @since 1.0.0
17
+ */
18
+ const accessLog = exports.accessLog = internal.accessLog;
19
+ /**
20
+ * Annotate request logs using generated UUID. The default annotation key is `requestId`.
21
+ * The annotation key is configurable using the first argument.
22
+ *
23
+ * Note that in order to apply the annotation also for access logging, you should
24
+ * make sure the `accessLog` middleware is plugged after the `uuidLogAnnotation`.
25
+ *
26
+ * @category logging
27
+ * @since 1.0.0
28
+ */
29
+ const uuidLogAnnotation = exports.uuidLogAnnotation = internal.uuidLogAnnotation;
30
+ /**
31
+ * Measure how many times each endpoint was called in a
32
+ * `server.endpoint_calls` counter metrics.
33
+ *
34
+ * @category metrics
35
+ * @since 1.0.0
36
+ */
37
+ const endpointCallsMetric = exports.endpointCallsMetric = internal.endpointCallsMetric;
38
+ /**
39
+ * Logs out a handler failure.
40
+ *
41
+ * @category logging
42
+ * @since 1.0.0
43
+ */
44
+ const errorLog = exports.errorLog = internal.errorLog;
45
+ /**
46
+ * Basic auth middleware.
47
+ *
48
+ * @category authorization
49
+ * @since 1.0.0
50
+ */
51
+ const basicAuth = exports.basicAuth = internal.basicAuth;
52
+ /**
53
+ * Basic auth middleware.
54
+ *
55
+ * @category authorization
56
+ * @since 1.0.0
57
+ */
58
+ const cors = exports.cors = internal.cors;
59
+ //# sourceMappingURL=Middlewares.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Middlewares.cjs","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","accessLog","exports","uuidLogAnnotation","endpointCallsMetric","errorLog","basicAuth","cors"],"sources":["../../src/api/Middlewares.ts"],"sourcesContent":[null],"mappings":";;;;;;AAQA,IAAAA,QAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAqD,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAErD;;;;;;;;AAQO,MAAMW,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAEqCvB,QAAQ,CAACuB,SAAS;AAE7E;;;;;;;;;;AAUO,MAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAE6BzB,QAAQ,CAACyB,iBAAiB;AAErF;;;;;;;AAOO,MAAMC,mBAAmB,GAAAF,OAAA,CAAAE,mBAAA,GAEP1B,QAAQ,CAAC0B,mBAAmB;AAErD;;;;;;AAMO,MAAMC,QAAQ,GAAAH,OAAA,CAAAG,QAAA,GAAwD3B,QAAQ,CAAC2B,QAAQ;AAW9F;;;;;;AAMO,MAAMC,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAQ6C5B,QAAQ,CAAC4B,SAAS;AAerF;;;;;;AAMO,MAAMC,IAAI,GAAAL,OAAA,CAAAK,IAAA,GAE0C7B,QAAQ,CAAC6B,IAAI","ignoreList":[]}
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.uuidLogAnnotation = exports.toServerResponse = exports.errorLog = exports.endpointCallsMetric = exports.cors = exports.basicAuth = exports.accessLog = void 0;
7
+ var crypto = _interopRequireWildcard(require("crypto"));
8
+ var _utils = require("@effect-app/core/utils");
9
+ var _errors = require("@effect-app/infra/errors");
10
+ var Middleware = _interopRequireWildcard(require("@effect/platform/HttpMiddleware"));
11
+ var HttpServerRequest = _interopRequireWildcard(require("@effect/platform/HttpServerRequest"));
12
+ var ServerResponse = _interopRequireWildcard(require("@effect/platform/HttpServerResponse"));
13
+ var _effectApp = require("effect-app");
14
+ var _http = require("effect-app/http");
15
+ var Either = _interopRequireWildcard(require("effect/Either"));
16
+ var FiberRef = _interopRequireWildcard(require("effect/FiberRef"));
17
+ var _Function = require("effect/Function");
18
+ var HashMap = _interopRequireWildcard(require("effect/HashMap"));
19
+ var Metric = _interopRequireWildcard(require("effect/Metric"));
20
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
+ /**
23
+ * Mechanism for extendning behaviour of all handlers on the server.
24
+ *
25
+ * @since 1.0.0
26
+ */
27
+
28
+ const accessLog = (level = "Info") => Middleware.make(app => (0, _Function.pipe)(HttpServerRequest.HttpServerRequest, _effectApp.Effect.flatMap(request => _effectApp.Effect[`log${level}`](`${request.method} ${request.url}`)), _effectApp.Effect.flatMap(() => app)));
29
+ exports.accessLog = accessLog;
30
+ const uuidLogAnnotation = (logAnnotationKey = "requestId") => Middleware.make(app => (0, _Function.pipe)(_effectApp.Effect.sync(() => crypto.randomUUID()), _effectApp.Effect.flatMap(uuid => FiberRef.update(FiberRef.currentLogAnnotations, HashMap.set(logAnnotationKey, uuid))), _effectApp.Effect.flatMap(() => app)));
31
+ exports.uuidLogAnnotation = uuidLogAnnotation;
32
+ const endpointCallsMetric = () => {
33
+ const endpointCalledCounter = Metric.counter("server.endpoint_calls");
34
+ return Middleware.make(app => _effectApp.Effect.gen(function* (_) {
35
+ const request = yield* _(HttpServerRequest.HttpServerRequest);
36
+ yield* _(Metric.increment(endpointCalledCounter), _effectApp.Effect.tagMetrics("path", request.url));
37
+ return yield* _(app);
38
+ }));
39
+ };
40
+ exports.endpointCallsMetric = endpointCallsMetric;
41
+ const errorLog = exports.errorLog = Middleware.make(app => _effectApp.Effect.gen(function* (_) {
42
+ const request = yield* _(HttpServerRequest.HttpServerRequest);
43
+ const response = yield* _(app);
44
+ if (response.status >= 400 && response.status < 500) {
45
+ yield* _(_effectApp.Effect.logWarning(`${request.method.toUpperCase()} ${request.url} client error ${response.status}`));
46
+ } else if (response.status >= 500) {
47
+ yield* _(_effectApp.Effect.logError(`${request.method.toUpperCase()} ${request.url} server error ${response.status}`));
48
+ }
49
+ return response;
50
+ }));
51
+ const toServerResponse = err => _http.HttpServerResponse.empty().pipe(_http.HttpServerResponse.setStatus(401), _http.HttpServerResponse.setBody(_http.HttpBody.unsafeJson({
52
+ message: err.message
53
+ })));
54
+ exports.toServerResponse = toServerResponse;
55
+ const basicAuth = (checkCredentials, options) => Middleware.make(app => _effectApp.Effect.gen(function* (_) {
56
+ const headerName = options?.headerName ?? "Authorization";
57
+ const skippedPaths = options?.skipPaths ?? [];
58
+ const request = yield* _(HttpServerRequest.HttpServerRequest);
59
+ if (skippedPaths.includes(request.url)) {
60
+ return yield* _(app);
61
+ }
62
+ const authHeader = request.headers[headerName.toLowerCase()];
63
+ if (authHeader === undefined) {
64
+ return toServerResponse(new _errors.NotLoggedInError(`Expected header ${headerName}`));
65
+ }
66
+ const authorizationParts = authHeader.split(" ");
67
+ if (authorizationParts.length !== 2) {
68
+ return toServerResponse(new _errors.NotLoggedInError("Incorrect auhorization scheme. Expected \"Basic <credentials>\""));
69
+ }
70
+ if (authorizationParts[0] !== "Basic") {
71
+ return toServerResponse(new _errors.NotLoggedInError(`Incorrect auhorization type. Expected "Basic", got "${authorizationParts[0]}"`));
72
+ }
73
+ const credentialsBuffer = Buffer.from(authorizationParts[1], "base64");
74
+ const credentialsText = credentialsBuffer.toString("utf-8");
75
+ const credentialsParts = credentialsText.split(":");
76
+ if (credentialsParts.length !== 2) {
77
+ return toServerResponse(new _errors.NotLoggedInError("Incorrect basic auth credentials format. Expected base64 encoded \"<user>:<pass>\"."));
78
+ }
79
+ const check = yield* _(checkCredentials({
80
+ user: credentialsParts[0],
81
+ password: credentialsParts[1]
82
+ }), _effectApp.Effect.either);
83
+ if (Either.isLeft(check)) {
84
+ return toServerResponse(check.left);
85
+ }
86
+ return yield* _(app);
87
+ }));
88
+ exports.basicAuth = basicAuth;
89
+ const cors = _options => {
90
+ const DEFAULTS = {
91
+ allowedOrigins: ["*"],
92
+ allowedMethods: ["GET", "HEAD", "PUT", "PATCH", "POST", "DELETE"],
93
+ allowedHeaders: [],
94
+ exposedHeaders: [],
95
+ credentials: false
96
+ };
97
+ const options = {
98
+ ...DEFAULTS,
99
+ ..._options
100
+ };
101
+ const isAllowedOrigin = origin => {
102
+ return options.allowedOrigins.includes(origin);
103
+ };
104
+ const allowOrigin = originHeader => {
105
+ if (options.allowedOrigins.length === 0) {
106
+ return {
107
+ "Access-Control-Allow-Origin": "*"
108
+ };
109
+ }
110
+ if (options.allowedOrigins.length === 1) {
111
+ return {
112
+ "Access-Control-Allow-Origin": options.allowedOrigins[0],
113
+ Vary: "Origin"
114
+ };
115
+ }
116
+ if (isAllowedOrigin(originHeader)) {
117
+ return {
118
+ "Access-Control-Allow-Origin": originHeader,
119
+ Vary: "Origin"
120
+ };
121
+ }
122
+ return undefined;
123
+ };
124
+ const allowMethods = (() => {
125
+ if (options.allowedMethods.length > 0) {
126
+ return {
127
+ "Access-Control-Allow-Methods": options.allowedMethods.join(", ")
128
+ };
129
+ }
130
+ return undefined;
131
+ })();
132
+ const allowCredentials = (() => {
133
+ if (options.credentials) {
134
+ return {
135
+ "Access-Control-Allow-Credentials": "true"
136
+ };
137
+ }
138
+ return undefined;
139
+ })();
140
+ const allowHeaders = accessControlRequestHeaders => {
141
+ if (options.allowedHeaders.length === 0 && accessControlRequestHeaders) {
142
+ return {
143
+ Vary: "Access-Control-Request-Headers",
144
+ "Access-Control-Allow-Headers": accessControlRequestHeaders
145
+ };
146
+ }
147
+ if (options.allowedHeaders) {
148
+ return {
149
+ "Access-Control-Allow-Headers": options.allowedHeaders.join(",")
150
+ };
151
+ }
152
+ return undefined;
153
+ };
154
+ const exposeHeaders = (() => {
155
+ if (options.exposedHeaders.length > 0) {
156
+ return {
157
+ "Access-Control-Expose-Headers": options.exposedHeaders.join(",")
158
+ };
159
+ }
160
+ return undefined;
161
+ })();
162
+ const maxAge = (() => {
163
+ if (options.maxAge) {
164
+ return {
165
+ "Access-Control-Max-Age": options.maxAge.toString()
166
+ };
167
+ }
168
+ return undefined;
169
+ })();
170
+ return Middleware.make(app => _effectApp.Effect.gen(function* (_) {
171
+ const request = yield* _(HttpServerRequest.HttpServerRequest);
172
+ const origin = request.headers["origin"];
173
+ const accessControlRequestHeaders = request.headers["access-control-request-headers"];
174
+ let corsHeaders = {
175
+ ...allowOrigin(origin ?? ""),
176
+ ...allowCredentials,
177
+ ...exposeHeaders
178
+ };
179
+ if (request.method === "OPTIONS") {
180
+ corsHeaders = {
181
+ ...corsHeaders,
182
+ ...allowMethods,
183
+ ...allowHeaders(accessControlRequestHeaders),
184
+ ...maxAge
185
+ };
186
+ return ServerResponse.empty({
187
+ status: 204,
188
+ headers: _http.HttpHeaders.fromInput((0, _utils.dropUndefined)(corsHeaders))
189
+ });
190
+ }
191
+ const response = yield* _(app);
192
+ return response.pipe(ServerResponse.setHeaders((0, _utils.dropUndefined)(corsHeaders)));
193
+ }));
194
+ };
195
+ exports.cors = cors;
196
+ //# sourceMappingURL=middlewares.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewares.cjs","names":["crypto","_interopRequireWildcard","require","_utils","_errors","Middleware","HttpServerRequest","ServerResponse","_effectApp","_http","Either","FiberRef","_Function","HashMap","Metric","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","accessLog","level","make","app","pipe","Effect","flatMap","request","method","url","exports","uuidLogAnnotation","logAnnotationKey","sync","randomUUID","uuid","update","currentLogAnnotations","endpointCallsMetric","endpointCalledCounter","counter","gen","_","increment","tagMetrics","errorLog","response","status","logWarning","toUpperCase","logError","toServerResponse","err","HttpServerResponse","empty","setStatus","setBody","HttpBody","unsafeJson","message","basicAuth","checkCredentials","options","headerName","skippedPaths","skipPaths","includes","authHeader","headers","toLowerCase","undefined","NotLoggedInError","authorizationParts","split","length","credentialsBuffer","Buffer","from","credentialsText","toString","credentialsParts","check","user","password","either","isLeft","left","cors","_options","DEFAULTS","allowedOrigins","allowedMethods","allowedHeaders","exposedHeaders","credentials","isAllowedOrigin","origin","allowOrigin","originHeader","Vary","allowMethods","join","allowCredentials","allowHeaders","accessControlRequestHeaders","exposeHeaders","maxAge","corsHeaders","HttpHeaders","fromInput","dropUndefined","setHeaders"],"sources":["../../../src/api/internal/middlewares.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -28,4 +28,4 @@ function generate(arb) {
28
28
  function generateFromArbitrary(arb) {
29
29
  return generate(arb(_schema.FastCheck));
30
30
  }
31
- //# sourceMappingURL=test.arbs.cjs.map
31
+ //# sourceMappingURL=arbs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arbs.cjs","names":["_schema","require","_faker","_faker2","_fastCheck","rand","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","rnd","Random","congruential32","setFaker","faker","generate","arb","undefined","generateFromArbitrary","FastCheck"],"sources":["../../src/test/arbs.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,IAAA,GAAAC,uBAAA,CAAAL,OAAA;AAAiC,SAAAM,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAF,wBAAAE,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAPjC;;AASA,MAAMW,GAAG,GAAG,IAAIC,iBAAM,CAACvB,IAAI,CAACwB,cAAc,CAAC,CAAC,CAAC,CAAC;AAE9C,IAAAC,gBAAQ,EAACC,YAAK,CAAC;AAEf;;;AAGM,SAAUC,QAAQA,CAAIC,GAA2B;EACrD,OAAOA,GAAG,CAACD,QAAQ,CAACL,GAAG,EAAEO,SAAS,CAAC;AACrC;AAEA;;;AAGM,SAAUC,qBAAqBA,CAAIF,GAAuB;EAC9D,OAAOD,QAAQ,CAACC,GAAG,CAACG,iBAAS,CAAC,CAAC;AACjC","ignoreList":[]}
package/_cjs/test.cjs CHANGED
@@ -11,15 +11,15 @@ exports.createRandomInstanceI = exports.createRandomInstance = void 0;
11
11
  var _schema = require("@effect/schema");
12
12
  var _effectApp = require("effect-app");
13
13
  var _utils = require("effect-app/utils");
14
- var _testArbs = require("./test.arbs.cjs");
15
- Object.keys(_testArbs).forEach(function (key) {
14
+ var _arbs = require("./test/arbs.cjs");
15
+ Object.keys(_arbs).forEach(function (key) {
16
16
  if (key === "default" || key === "__esModule") return;
17
17
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
18
- if (key in exports && exports[key] === _testArbs[key]) return;
18
+ if (key in exports && exports[key] === _arbs[key]) return;
19
19
  Object.defineProperty(exports, key, {
20
20
  enumerable: true,
21
21
  get: function () {
22
- return _testArbs[key];
22
+ return _arbs[key];
23
23
  }
24
24
  });
25
25
  });
@@ -44,7 +44,7 @@ const defaults = fields => {
44
44
  * Given the schema for an object-like structure, creates a function that generates random instances of that object with some values provided.
45
45
  */
46
46
  const createRandomInstance = s => {
47
- const gen = (0, _testArbs.generate)(_schema.Arbitrary.make(s));
47
+ const gen = (0, _arbs.generate)(_schema.Arbitrary.make(s));
48
48
  return overrides => {
49
49
  const v = {
50
50
  ...gen.value,
@@ -58,7 +58,7 @@ const createRandomInstance = s => {
58
58
  */
59
59
  exports.createRandomInstance = createRandomInstance;
60
60
  const createRandomInstanceI = s => {
61
- const gen = (0, _testArbs.generate)(_schema.Arbitrary.make(s));
61
+ const gen = (0, _arbs.generate)(_schema.Arbitrary.make(s));
62
62
  const encode = _effectApp.S.encodeSync(s);
63
63
  const decode = _effectApp.S.decodeSync(s);
64
64
  return overrides => {
package/_cjs/test.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.cjs","names":["_schema","require","_effectApp","_utils","_testArbs","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","isPropertySignature","u","Predicate","hasProperty","S","PropertySignatureTypeId","defaults","fields","out","field","ast","defaultValue","_tag","to","undefined","createRandomInstance","s","gen","generate","Arbitrary","make","overrides","v","value","copy","createRandomInstanceI","encode","encodeSync","decode","decodeSync"],"sources":["../src/test.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AA+CAI,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;AA7CA,MAAMS,mBAAmB,GAAIC,CAAU,IACrCC,oBAAS,CAACC,WAAW,CAACF,CAAC,EAAEG,YAAC,CAACC,uBAAuB,CAAC;AAErD,MAAMC,QAAQ,GAAIC,MAAuB,IAAI;EAC3C,MAAMlB,IAAI,GAAGD,MAAM,CAACC,IAAI,CAACkB,MAAM,CAAC;EAChC;EACA,MAAMC,GAAG,GAAwB,EAAE;EACnC,KAAK,MAAMjB,GAAG,IAAIF,IAAI,EAAE;IACtB,MAAMoB,KAAK,GAAGF,MAAM,CAAChB,GAAG,CAAC;IACzB,IAAIS,mBAAmB,CAACS,KAAK,CAAC,EAAE;MAC9B,MAAMC,GAAG,GAAGD,KAAK,CAACC,GAAG;MACrB,MAAMC,YAAY,GAAGD,GAAG,CAACE,IAAI,KAAK,8BAA8B,GAAGF,GAAG,CAACC,YAAY,GAAGD,GAAG,CAACG,EAAE,CAACF,YAAY;MACzG,IAAIA,YAAY,KAAKG,SAAS,EAAE;QAC9BN,GAAG,CAACjB,GAAG,CAAC,GAAGoB,YAAY,EAAE;MAC3B;IACF;EACF;EACA,OAAOH,GAAG;AACZ,CAAC;AAED;;;AAGO,MAAMO,oBAAoB,GAA4BC,CAAkD,IAAI;EACjH,MAAMC,GAAG,GAAG,IAAAC,kBAAQ,EAACC,iBAAS,CAACC,IAAI,CAACJ,CAAC,CAAC,CAAC;EACvC,OAAQK,SAAsB,IAAI;IAChC,MAAMC,CAAC,GAAG;MAAE,GAAGL,GAAG,CAACM,KAAK;MAAE,GAAGjB,QAAQ,CAACU,CAAC,CAACT,MAAM;IAAC,CAAE;IACjD,OAAOc,SAAS,GAAG,IAAAG,WAAI,EAACF,CAAC,EAAED,SAAS,CAAC,GAAGC,CAAC;EAC3C,CAAC;AACH,CAAC;AAED;;;AAAA1B,OAAA,CAAAmB,oBAAA,GAAAA,oBAAA;AAGO,MAAMU,qBAAqB,GAAyBT,CAAsD,IAAI;EACnH,MAAMC,GAAG,GAAG,IAAAC,kBAAQ,EAACC,iBAAS,CAACC,IAAI,CAACJ,CAAC,CAAC,CAAC;EACvC,MAAMU,MAAM,GAAGtB,YAAC,CAACuB,UAAU,CAACX,CAAC,CAAC;EAC9B,MAAMY,MAAM,GAAGxB,YAAC,CAACyB,UAAU,CAACb,CAAC,CAAC;EAC9B,OAAQK,SAAsB,IAAI;IAChC,MAAMC,CAAC,GAAG;MAAE,GAAGL,GAAG,CAACM,KAAK;MAAE,GAAGjB,QAAQ,CAACU,CAAC,CAACT,MAAM;IAAC,CAAE;IACjD,IAAI,CAACc,SAAS,EAAE,OAAOC,CAAC;IACxB,OAAOM,MAAM,CAAC;MAAE,GAAGF,MAAM,CAACJ,CAAC,CAAC;MAAE,GAAGD;IAAS,CAAE,CAAC;EAC/C,CAAC;AACH,CAAC;AAAAzB,OAAA,CAAA6B,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"file":"test.cjs","names":["_schema","require","_effectApp","_utils","_arbs","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","isPropertySignature","u","Predicate","hasProperty","S","PropertySignatureTypeId","defaults","fields","out","field","ast","defaultValue","_tag","to","undefined","createRandomInstance","s","gen","generate","Arbitrary","make","overrides","v","value","copy","createRandomInstanceI","encode","encodeSync","decode","decodeSync"],"sources":["../src/test.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AA+CAI,MAAA,CAAAC,IAAA,CAAAF,KAAA,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,KAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,KAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AA7CA,MAAMS,mBAAmB,GAAIC,CAAU,IACrCC,oBAAS,CAACC,WAAW,CAACF,CAAC,EAAEG,YAAC,CAACC,uBAAuB,CAAC;AAErD,MAAMC,QAAQ,GAAIC,MAAuB,IAAI;EAC3C,MAAMlB,IAAI,GAAGD,MAAM,CAACC,IAAI,CAACkB,MAAM,CAAC;EAChC;EACA,MAAMC,GAAG,GAAwB,EAAE;EACnC,KAAK,MAAMjB,GAAG,IAAIF,IAAI,EAAE;IACtB,MAAMoB,KAAK,GAAGF,MAAM,CAAChB,GAAG,CAAC;IACzB,IAAIS,mBAAmB,CAACS,KAAK,CAAC,EAAE;MAC9B,MAAMC,GAAG,GAAGD,KAAK,CAACC,GAAG;MACrB,MAAMC,YAAY,GAAGD,GAAG,CAACE,IAAI,KAAK,8BAA8B,GAAGF,GAAG,CAACC,YAAY,GAAGD,GAAG,CAACG,EAAE,CAACF,YAAY;MACzG,IAAIA,YAAY,KAAKG,SAAS,EAAE;QAC9BN,GAAG,CAACjB,GAAG,CAAC,GAAGoB,YAAY,EAAE;MAC3B;IACF;EACF;EACA,OAAOH,GAAG;AACZ,CAAC;AAED;;;AAGO,MAAMO,oBAAoB,GAA4BC,CAAkD,IAAI;EACjH,MAAMC,GAAG,GAAG,IAAAC,cAAQ,EAACC,iBAAS,CAACC,IAAI,CAACJ,CAAC,CAAC,CAAC;EACvC,OAAQK,SAAsB,IAAI;IAChC,MAAMC,CAAC,GAAG;MAAE,GAAGL,GAAG,CAACM,KAAK;MAAE,GAAGjB,QAAQ,CAACU,CAAC,CAACT,MAAM;IAAC,CAAE;IACjD,OAAOc,SAAS,GAAG,IAAAG,WAAI,EAACF,CAAC,EAAED,SAAS,CAAC,GAAGC,CAAC;EAC3C,CAAC;AACH,CAAC;AAED;;;AAAA1B,OAAA,CAAAmB,oBAAA,GAAAA,oBAAA;AAGO,MAAMU,qBAAqB,GAAyBT,CAAsD,IAAI;EACnH,MAAMC,GAAG,GAAG,IAAAC,cAAQ,EAACC,iBAAS,CAACC,IAAI,CAACJ,CAAC,CAAC,CAAC;EACvC,MAAMU,MAAM,GAAGtB,YAAC,CAACuB,UAAU,CAACX,CAAC,CAAC;EAC9B,MAAMY,MAAM,GAAGxB,YAAC,CAACyB,UAAU,CAACb,CAAC,CAAC;EAC9B,OAAQK,SAAsB,IAAI;IAChC,MAAMC,CAAC,GAAG;MAAE,GAAGL,GAAG,CAACM,KAAK;MAAE,GAAGjB,QAAQ,CAACU,CAAC,CAACT,MAAM;IAAC,CAAE;IACjD,IAAI,CAACc,SAAS,EAAE,OAAOC,CAAC;IACxB,OAAOM,MAAM,CAAC;MAAE,GAAGF,MAAM,CAACJ,CAAC,CAAC;MAAE,GAAGD;IAAS,CAAE,CAAC;EAC/C,CAAC;AACH,CAAC;AAAAzB,OAAA,CAAA6B,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Mechanism for extendning behaviour of all handlers on the server.
3
+ *
4
+ * @since 1.0.0
5
+ */
6
+ import type * as App from "@effect/platform/HttpApp";
7
+ import type { Effect } from "effect-app";
8
+ import type { NotLoggedInError } from "../errors.js";
9
+ /**
10
+ * Add access logs for handled requests. The log runs before each request.
11
+ * Optionally configure log level using the first argument. The default log level
12
+ * is `Debug`.
13
+ *
14
+ * @category logging
15
+ * @since 1.0.0
16
+ */
17
+ export declare const accessLog: (level?: "Info" | "Warning" | "Debug") => <R, E>(app: App.Default<R, E>) => App.Default<R, E>;
18
+ /**
19
+ * Annotate request logs using generated UUID. The default annotation key is `requestId`.
20
+ * The annotation key is configurable using the first argument.
21
+ *
22
+ * Note that in order to apply the annotation also for access logging, you should
23
+ * make sure the `accessLog` middleware is plugged after the `uuidLogAnnotation`.
24
+ *
25
+ * @category logging
26
+ * @since 1.0.0
27
+ */
28
+ export declare const uuidLogAnnotation: (logAnnotationKey?: string) => <R, E>(app: App.Default<R, E>) => App.Default<R, E>;
29
+ /**
30
+ * Measure how many times each endpoint was called in a
31
+ * `server.endpoint_calls` counter metrics.
32
+ *
33
+ * @category metrics
34
+ * @since 1.0.0
35
+ */
36
+ export declare const endpointCallsMetric: () => <R, E>(app: App.Default<R, E>) => App.Default<R, E>;
37
+ /**
38
+ * Logs out a handler failure.
39
+ *
40
+ * @category logging
41
+ * @since 1.0.0
42
+ */
43
+ export declare const errorLog: <R, E>(app: App.Default<R, E>) => App.Default<R, E>;
44
+ /**
45
+ * @category models
46
+ * @since 1.0.0
47
+ */
48
+ export interface BasicAuthCredentials {
49
+ user: string;
50
+ password: string;
51
+ }
52
+ /**
53
+ * Basic auth middleware.
54
+ *
55
+ * @category authorization
56
+ * @since 1.0.0
57
+ */
58
+ export declare const basicAuth: <R2, _>(checkCredentials: (credentials: BasicAuthCredentials) => Effect<_, NotLoggedInError, R2>, options?: Partial<{
59
+ headerName: string;
60
+ skipPaths: readonly string[];
61
+ }>) => <R1, E>(app: App.Default<E, R1>) => App.Default<E, R1 | R2>;
62
+ /**
63
+ * @category models
64
+ * @since 1.0.0
65
+ */
66
+ export interface CorsOptions {
67
+ allowedOrigins: readonly string[];
68
+ allowedMethods: readonly string[];
69
+ allowedHeaders: readonly string[];
70
+ exposedHeaders: readonly string[];
71
+ maxAge: number;
72
+ credentials: boolean;
73
+ }
74
+ /**
75
+ * Basic auth middleware.
76
+ *
77
+ * @category authorization
78
+ * @since 1.0.0
79
+ */
80
+ export declare const cors: (options?: Partial<CorsOptions>) => <R, E>(app: App.Default<R, E>) => App.Default<R, E>;
81
+ //# sourceMappingURL=Middlewares.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/api/middlewares.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAGpD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,EAAE,CACtB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,KACjC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAsB,CAAA;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAC9B,gBAAgB,CAAC,EAAE,MAAM,KACtB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAA8B,CAAA;AAErF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAC3C,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KACnB,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAgC,CAAA;AAErD;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAqB,CAAA;AAE9F;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,EAC5B,gBAAgB,EAAE,CAChB,WAAW,EAAE,oBAAoB,KAC9B,MAAM,CAAC,CAAC,EAAE,gBAAgB,EAAE,EAAE,CAAC,EACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAC7B,CAAC,KACC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAsB,CAAA;AAErF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,OAAO,CAAA;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,KAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAiB,CAAA"}
@@ -0,0 +1,51 @@
1
+ import * as internal from "./internal/middlewares.js";
2
+ /**
3
+ * Add access logs for handled requests. The log runs before each request.
4
+ * Optionally configure log level using the first argument. The default log level
5
+ * is `Debug`.
6
+ *
7
+ * @category logging
8
+ * @since 1.0.0
9
+ */
10
+ export const accessLog = internal.accessLog;
11
+ /**
12
+ * Annotate request logs using generated UUID. The default annotation key is `requestId`.
13
+ * The annotation key is configurable using the first argument.
14
+ *
15
+ * Note that in order to apply the annotation also for access logging, you should
16
+ * make sure the `accessLog` middleware is plugged after the `uuidLogAnnotation`.
17
+ *
18
+ * @category logging
19
+ * @since 1.0.0
20
+ */
21
+ export const uuidLogAnnotation = internal.uuidLogAnnotation;
22
+ /**
23
+ * Measure how many times each endpoint was called in a
24
+ * `server.endpoint_calls` counter metrics.
25
+ *
26
+ * @category metrics
27
+ * @since 1.0.0
28
+ */
29
+ export const endpointCallsMetric = internal.endpointCallsMetric;
30
+ /**
31
+ * Logs out a handler failure.
32
+ *
33
+ * @category logging
34
+ * @since 1.0.0
35
+ */
36
+ export const errorLog = internal.errorLog;
37
+ /**
38
+ * Basic auth middleware.
39
+ *
40
+ * @category authorization
41
+ * @since 1.0.0
42
+ */
43
+ export const basicAuth = internal.basicAuth;
44
+ /**
45
+ * Basic auth middleware.
46
+ *
47
+ * @category authorization
48
+ * @since 1.0.0
49
+ */
50
+ export const cors = internal.cors;
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL01pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sS0FBSyxRQUFRLE1BQU0sMkJBQTJCLENBQUE7QUFFckQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FFcUMsUUFBUSxDQUFDLFNBQVMsQ0FBQTtBQUU3RTs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FFNkIsUUFBUSxDQUFDLGlCQUFpQixDQUFBO0FBRXJGOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUVQLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQTtBQUVyRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBd0QsUUFBUSxDQUFDLFFBQVEsQ0FBQTtBQVc5Rjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FRNkMsUUFBUSxDQUFDLFNBQVMsQ0FBQTtBQWVyRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FFMEMsUUFBUSxDQUFDLElBQUksQ0FBQSJ9
@@ -0,0 +1,16 @@
1
+ import { NotLoggedInError } from "@effect-app/infra/errors";
2
+ import * as HttpServerRequest from "@effect/platform/HttpServerRequest";
3
+ import * as ServerResponse from "@effect/platform/HttpServerResponse";
4
+ import { Effect } from "effect-app";
5
+ import type * as Middlewares from "../middlewares.js";
6
+ export declare const accessLog: (level?: "Info" | "Warning" | "Debug") => <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<ServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
7
+ export declare const uuidLogAnnotation: (logAnnotationKey?: string) => <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<ServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
8
+ export declare const endpointCallsMetric: () => <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<ServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
9
+ export declare const errorLog: <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<ServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
10
+ export declare const toServerResponse: (err: NotLoggedInError) => ServerResponse.HttpServerResponse;
11
+ export declare const basicAuth: <_, R>(checkCredentials: (credentials: Middlewares.BasicAuthCredentials) => Effect<_, NotLoggedInError, R>, options?: Partial<{
12
+ headerName: string;
13
+ skipPaths: readonly string[];
14
+ }>) => <E, R_1>(app: import("@effect/platform/HttpApp").Default<E, R_1>) => Effect.Effect<ServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R | R_1>;
15
+ export declare const cors: (_options?: Partial<Middlewares.CorsOptions>) => <E, R>(app: import("@effect/platform/HttpApp").Default<E, R>) => Effect.Effect<ServerResponse.HttpServerResponse, E, HttpServerRequest.HttpServerRequest | R>;
16
+ //# sourceMappingURL=middlewares.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../src/api/internal/middlewares.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAE3D,OAAO,KAAK,iBAAiB,MAAM,oCAAoC,CAAA;AACvE,OAAO,KAAK,cAAc,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAOnC,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAErD,eAAO,MAAM,SAAS,WAAW,MAAM,GAAG,SAAS,GAAG,OAAO,kKAO1D,CAAA;AAEH,eAAO,MAAM,iBAAiB,8LAY3B,CAAA;AAEH,eAAO,MAAM,mBAAmB,qKAe/B,CAAA;AAED,eAAO,MAAM,QAAQ,+JAsBpB,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,gBAAgB,sCAInD,CAAA;AAEH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,CAAC,oBACV,CAChB,WAAW,EAAE,WAAW,CAAC,oBAAoB,KAC1C,MAAM,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,YACzB,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;CAC7B,CAAC,4KAkED,CAAA;AAEH,eAAO,MAAM,IAAI,cAAe,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,kKAuH/D,CAAA"}