effect 4.0.0-beta.72 → 4.0.0-beta.73
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/dist/unstable/cluster/EntityResource.d.ts +1 -0
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +5 -3
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +2 -3
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +27 -5
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js +26 -3
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +2 -2
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/package.json +1 -1
- package/src/unstable/cluster/EntityResource.ts +8 -4
- package/src/unstable/httpapi/HttpApiBuilder.ts +2 -3
- package/src/unstable/httpapi/HttpApiSecurity.ts +36 -8
- package/src/unstable/httpapi/OpenApi.ts +2 -2
|
@@ -94,6 +94,7 @@ export declare class CloseScope extends CloseScope_base {
|
|
|
94
94
|
export declare const make: <A, E, R>(options: {
|
|
95
95
|
readonly acquire: Effect.Effect<A, E, R>;
|
|
96
96
|
readonly idleTimeToLive?: Duration.Input | undefined;
|
|
97
|
+
readonly acquireEagerly?: boolean | undefined;
|
|
97
98
|
}) => Effect.Effect<EntityResource<A, E>, E, Scope.Scope | Exclude<R, CloseScope> | Sharding | Entity.CurrentAddress>;
|
|
98
99
|
/**
|
|
99
100
|
* Creates an `EntityResource` backed by a Kubernetes Pod.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityResource.d.ts","sourceRoot":"","sources":["../../../src/unstable/cluster/EntityResource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAAyC,CAAA;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,gCAAgC,CAAA;AAErD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK;IAClD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACpC;;AAED;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,eAGe;CAAG;AAElD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"EntityResource.d.ts","sourceRoot":"","sources":["../../../src/unstable/cluster/EntityResource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,KAAK,EAAE,MAAM,+BAA+B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAGzC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAAyC,CAAA;AAE9D;;;;;GAKG;AACH,MAAM,MAAM,MAAM,GAAG,gCAAgC,CAAA;AAErD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK;IAClD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACpC;;AAED;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,eAGe;CAAG;AAElD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;IACpD,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC9C,KAAK,MAAM,CAAC,MAAM,CACjB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EACpB,CAAC,EACD,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,QAAQ,GAAG,MAAM,CAAC,cAAc,CA4CvE,CAAA;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,EAAE,CACvB,IAAI,EAAE,EAAE,CAAC,GAAG,EACZ,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAA;CACrD,GAAG,SAAS,KACV,MAAM,CAAC,MAAM,CAChB,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,EACvC,KAAK,EACL,KAAK,CAAC,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC,aAAa,CAc5E,CAAA"}
|
|
@@ -42,9 +42,9 @@ export class CloseScope extends /*#__PURE__*/Context.Service()("effect/cluster/E
|
|
|
42
42
|
*/
|
|
43
43
|
export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
44
44
|
let shuttingDown = false;
|
|
45
|
-
yield* Entity.keepAlive(true);
|
|
46
45
|
const ref = yield* RcRef.make({
|
|
47
46
|
acquire: Effect.gen(function* () {
|
|
47
|
+
yield* Entity.keepAlive(true);
|
|
48
48
|
const closeable = yield* Scope.make();
|
|
49
49
|
yield* Effect.addFinalizer(Effect.fnUntraced(function* (exit) {
|
|
50
50
|
if (shuttingDown) return;
|
|
@@ -59,8 +59,10 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
59
59
|
shuttingDown = true;
|
|
60
60
|
return Effect.void;
|
|
61
61
|
});
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
if (options.acquireEagerly) {
|
|
63
|
+
// Initialize the resource
|
|
64
|
+
yield* Effect.scoped(RcRef.get(ref));
|
|
65
|
+
}
|
|
64
66
|
return identity({
|
|
65
67
|
[TypeId]: TypeId,
|
|
66
68
|
get: RcRef.get(ref),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityResource.js","names":["Context","Duration","Effect","identity","RcRef","Scope","Entity","K8sHttpClient","TypeId","CloseScope","Service","make","fnUntraced","options","shuttingDown","
|
|
1
|
+
{"version":3,"file":"EntityResource.js","names":["Context","Duration","Effect","identity","RcRef","Scope","Entity","K8sHttpClient","TypeId","CloseScope","Service","make","fnUntraced","options","shuttingDown","ref","acquire","gen","keepAlive","closeable","addFinalizer","exit","close","pipe","provideService","idleTimeToLive","infinity","void","acquireEagerly","scoped","get","invalidate","makeK8sPod","spec","createPod","makeCreatePod","scope","provide"],"sources":["../../../src/unstable/cluster/EntityResource.ts"],"sourcesContent":[null],"mappings":"AA2BA,OAAO,KAAKA,OAAO,MAAM,kBAAkB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,mBAAmB;AAC7C,OAAO,KAAKC,MAAM,MAAM,iBAAiB;AACzC,SAASC,QAAQ,QAAQ,mBAAmB;AAC5C,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,MAAM,MAAM,aAAa;AACrC,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAGnD;;;;;;AAMA,OAAO,MAAMC,MAAM,GAAW,gCAAgC;AA2B9D;;;;;;;;;;AAUA,OAAM,MAAOC,UAAW,sBAAQT,OAAO,CAACU,OAAO,EAG5C,CAAC,0CAA0C,CAAC;AAE/C;;;;;;;;;;;;;;;;AAgBA,OAAO,MAAMC,IAAI,gBAQbT,MAAM,CAACU,UAAU,CAAC,WAAmBC,OAIxC;EACC,IAAIC,YAAY,GAAG,KAAK;EAExB,MAAMC,GAAG,GAAG,OAAOX,KAAK,CAACO,IAAI,CAAC;IAC5BK,OAAO,EAAEd,MAAM,CAACe,GAAG,CAAC,aAAS;MAC3B,OAAOX,MAAM,CAACY,SAAS,CAAC,IAAI,CAAC;MAE7B,MAAMC,SAAS,GAAG,OAAOd,KAAK,CAACM,IAAI,EAAE;MAErC,OAAOT,MAAM,CAACkB,YAAY,CACxBlB,MAAM,CAACU,UAAU,CAAC,WAAUS,IAAI;QAC9B,IAAIP,YAAY,EAAE;QAClB,OAAOT,KAAK,CAACiB,KAAK,CAACH,SAAS,EAAEE,IAAI,CAAC;QACnC,OAAOf,MAAM,CAACY,SAAS,CAAC,KAAK,CAAC;MAChC,CAAC,CAAC,CACH;MAED,OAAO,OAAOL,OAAO,CAACG,OAAO,CAACO,IAAI,CAChCrB,MAAM,CAACsB,cAAc,CAACf,UAAU,EAAEU,SAAS,CAAC,CAC7C;IACH,CAAC,CAAC;IACFM,cAAc,EAAEZ,OAAO,CAACY,cAAc,IAAIxB,QAAQ,CAACyB;GACpD,CAAC;EAEF,OAAOxB,MAAM,CAACkB,YAAY,CAAC,MAAK;IAC9BN,YAAY,GAAG,IAAI;IACnB,OAAOZ,MAAM,CAACyB,IAAI;EACpB,CAAC,CAAC;EAEF,IAAId,OAAO,CAACe,cAAc,EAAE;IAC1B;IACA,OAAO1B,MAAM,CAAC2B,MAAM,CAACzB,KAAK,CAAC0B,GAAG,CAACf,GAAG,CAAC,CAAC;EACtC;EAEA,OAAOZ,QAAQ,CAAuB;IACpC,CAACK,MAAM,GAAGA,MAAM;IAChBsB,GAAG,EAAE1B,KAAK,CAAC0B,GAAG,CAACf,GAAG,CAAC;IACnBO,KAAK,EAAElB,KAAK,CAAC2B,UAAU,CAAChB,GAAG;GAC5B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;AAWA,OAAO,MAAMiB,UAAU,gBASnB9B,MAAM,CAACU,UAAU,CAAC,WAAUqB,IAAY,EAAEpB,OAE7C;EACC,MAAMqB,SAAS,GAAG,OAAO3B,aAAa,CAAC4B,aAAa;EACpD,OAAO,OAAOxB,IAAI,CAAC;IACjB,GAAGE,OAAO;IACVG,OAAO,EAAEd,MAAM,CAACe,GAAG,CAAC,aAAS;MAC3B,MAAMmB,KAAK,GAAG,OAAO3B,UAAU;MAC/B,OAAO,OAAOyB,SAAS,CAACD,IAAI,CAAC,CAACV,IAAI,CAChClB,KAAK,CAACgC,OAAO,CAACD,KAAK,CAAC,CACrB;IACH,CAAC;GACF,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -151,9 +151,9 @@ export const endpoint = (api, groupName, endpointName, handler) => Effect.contex
|
|
|
151
151
|
*/
|
|
152
152
|
export const securityDecode = self => {
|
|
153
153
|
switch (self._tag) {
|
|
154
|
-
case "
|
|
154
|
+
case "Http":
|
|
155
155
|
{
|
|
156
|
-
return Effect.map(HttpServerRequest, request => Redacted.make((request.headers.authorization ?? "").slice(
|
|
156
|
+
return Effect.map(HttpServerRequest, request => Redacted.make((request.headers.authorization ?? "").slice(self.schemeLength)));
|
|
157
157
|
}
|
|
158
158
|
case "ApiKey":
|
|
159
159
|
{
|
|
@@ -204,7 +204,6 @@ export const securitySetCookie = (self, value, options) => HttpEffect.appendPreR
|
|
|
204
204
|
// -----------------------------------------------------------------------------
|
|
205
205
|
// Internal
|
|
206
206
|
// -----------------------------------------------------------------------------
|
|
207
|
-
const bearerLen = `Bearer `.length;
|
|
208
207
|
const basicLen = `Basic `.length;
|
|
209
208
|
const HandlersProto = {
|
|
210
209
|
[HandlersTypeId]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApiBuilder.js","names":["Context","Effect","Encoding","Fiber","identity","stringOrRedacted","Layer","Option","pipeArguments","Redacted","Result","Schema","AST","Issue","Transformation","Scope","Stream","UndefinedOr","HttpEffect","HttpMethod","HttpRouter","Request","HttpServerRequest","Response","Multipart","UrlParams","HttpApiEndpoint","HttpApiSchemaError","HttpApiMiddleware","HttpApiSchema","OpenApi","layer","api","options","use","fnUntraced","router","services","context","routes","availableGroups","Array","from","mapUnsafe","keys","filter","key","startsWith","group","Object","values","groups","groupRoutes","get","undefined","available","length","join","die","identifier","push","addAll","openapiPath","spec","fromApi","add","succeed","jsonUnsafe","groupName","build","effectContext","gen","pipe","omit","result","makeHandlers","handlers","isEffect","item","handlerToRoute","makeUnsafe","Map","HandlersTypeId","Symbol","for","endpoint","endpointName","handler","contextWith","endpoints","handlerToHttpEffect","securityDecode","self","_tag","map","request","make","headers","authorization","slice","bearerLen","in","toLowerCase","schema","Struct","String","decode","schemaSearchParams","schemaCookies","schemaHeaders","match","onFailure","onSuccess","empty","username","password","flatMap","fromResult","decodeBase64String","basicLen","header","parts","split","securitySetCookie","value","appendPreResponseHandler","_req","response","orDie","setCookie","secure","httpOnly","HandlersProto","_Endpoints","arguments","handle","name","set","isRaw","uninterruptible","handleRaw","create","buildPayloadDecoders","payloadMap","forEach","encoding","schemas","contentType","decodeUnknownEffect","Union","mode","limits","nullOnEmpty","some","s","isNull","toEncoded","ast","decodePayload","payloadBy","httpRequest","query","hasBody","method","getRequestMediaType","existing","text","status","eff","multipart","provideContext","limitsServices","multipartStream","json","JSON","parse","source","urlParamsBody","toRecord","arrayBuffer","buffer","Uint8Array","encodeSuccess","encodeUnknownEffect","makeSuccessSchema","encodeError","makeErrorSchema","decodeParams","params","decodeHeaders","decodeQuery","shouldParsePayload","payload","size","applyMiddleware","fiber","getCurrent","getUnsafe","routeContext","RouteContext","ParsedSearchParams","wrap","isHttpServerResponse","withErrorReporting","catch","error","is","route","path","getRequestContentType","trim","index","indexOf","key_","middlewares","service","apply","isSecurity","makeSecurityMiddleware","securityMiddlewareCache","WeakMap","cached","entries","security","securityKey","middleware","lastResult","i","credential","isFailure","success","$HttpServerResponse","declare","toResponseSuccessSchema","toResponseSchema","getStatusSuccess","toResponseErrorSchema","getStatusError","getSuccessSchemas","getErrorSchemas","Never","getStatus","cache","responseSchema","decodeTo","getResponseTransformation","encode","getResponseEncode","getResponseEncoding","isNoContent","transformOrFail","res","fail","Forbidden","message","e","stringify","InvalidValue","globalThis","uint8Array","urlParams","setHeader"],"sources":["../../../src/unstable/httpapi/HttpApiBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"HttpApiBuilder.js","names":["Context","Effect","Encoding","Fiber","identity","stringOrRedacted","Layer","Option","pipeArguments","Redacted","Result","Schema","AST","Issue","Transformation","Scope","Stream","UndefinedOr","HttpEffect","HttpMethod","HttpRouter","Request","HttpServerRequest","Response","Multipart","UrlParams","HttpApiEndpoint","HttpApiSchemaError","HttpApiMiddleware","HttpApiSchema","OpenApi","layer","api","options","use","fnUntraced","router","services","context","routes","availableGroups","Array","from","mapUnsafe","keys","filter","key","startsWith","group","Object","values","groups","groupRoutes","get","undefined","available","length","join","die","identifier","push","addAll","openapiPath","spec","fromApi","add","succeed","jsonUnsafe","groupName","build","effectContext","gen","pipe","omit","result","makeHandlers","handlers","isEffect","item","handlerToRoute","makeUnsafe","Map","HandlersTypeId","Symbol","for","endpoint","endpointName","handler","contextWith","endpoints","handlerToHttpEffect","securityDecode","self","_tag","map","request","make","headers","authorization","slice","schemeLength","in","toLowerCase","schema","Struct","String","decode","schemaSearchParams","schemaCookies","schemaHeaders","match","onFailure","onSuccess","empty","username","password","flatMap","fromResult","decodeBase64String","basicLen","header","parts","split","securitySetCookie","value","appendPreResponseHandler","_req","response","orDie","setCookie","secure","httpOnly","HandlersProto","_Endpoints","arguments","handle","name","set","isRaw","uninterruptible","handleRaw","create","buildPayloadDecoders","payloadMap","forEach","encoding","schemas","contentType","decodeUnknownEffect","Union","mode","limits","nullOnEmpty","some","s","isNull","toEncoded","ast","decodePayload","payloadBy","httpRequest","query","hasBody","method","getRequestMediaType","existing","text","status","eff","multipart","provideContext","limitsServices","multipartStream","json","JSON","parse","source","urlParamsBody","toRecord","arrayBuffer","buffer","Uint8Array","encodeSuccess","encodeUnknownEffect","makeSuccessSchema","encodeError","makeErrorSchema","decodeParams","params","decodeHeaders","decodeQuery","shouldParsePayload","payload","size","applyMiddleware","fiber","getCurrent","getUnsafe","routeContext","RouteContext","ParsedSearchParams","wrap","isHttpServerResponse","withErrorReporting","catch","error","is","route","path","getRequestContentType","trim","index","indexOf","key_","middlewares","service","apply","isSecurity","makeSecurityMiddleware","securityMiddlewareCache","WeakMap","cached","entries","security","securityKey","middleware","lastResult","i","credential","isFailure","success","$HttpServerResponse","declare","toResponseSuccessSchema","toResponseSchema","getStatusSuccess","toResponseErrorSchema","getStatusError","getSuccessSchemas","getErrorSchemas","Never","getStatus","cache","responseSchema","decodeTo","getResponseTransformation","encode","getResponseEncode","getResponseEncoding","isNoContent","transformOrFail","res","fail","Forbidden","message","e","stringify","InvalidValue","globalThis","uint8Array","urlParams","setHeader"],"sources":["../../../src/unstable/httpapi/HttpApiBuilder.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -48,7 +48,7 @@ declare const TypeId = "~effect/httpapi/HttpApiSecurity";
|
|
|
48
48
|
* @category models
|
|
49
49
|
* @since 4.0.0
|
|
50
50
|
*/
|
|
51
|
-
export type HttpApiSecurity =
|
|
51
|
+
export type HttpApiSecurity = Http | ApiKey | Basic;
|
|
52
52
|
/**
|
|
53
53
|
* Helper types for HTTP API security schemes.
|
|
54
54
|
*
|
|
@@ -76,13 +76,14 @@ export declare namespace HttpApiSecurity {
|
|
|
76
76
|
type Type<A extends HttpApiSecurity> = A extends Proto<infer Out> ? Out : never;
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
79
|
+
* Http token security scheme whose decoded credential is a redacted token.
|
|
80
80
|
*
|
|
81
81
|
* @category models
|
|
82
82
|
* @since 4.0.0
|
|
83
83
|
*/
|
|
84
|
-
export interface
|
|
85
|
-
readonly _tag: "
|
|
84
|
+
export interface Http extends HttpApiSecurity.Proto<Redacted> {
|
|
85
|
+
readonly _tag: "Http";
|
|
86
|
+
readonly scheme: string;
|
|
86
87
|
}
|
|
87
88
|
/**
|
|
88
89
|
* API key security scheme identifying the key name and whether it is read from a header, query parameter, or cookie.
|
|
@@ -114,6 +115,27 @@ export interface Credentials {
|
|
|
114
115
|
readonly username: string;
|
|
115
116
|
readonly password: Redacted;
|
|
116
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
* Creates a Http token security scheme.
|
|
120
|
+
*
|
|
121
|
+
* **When to use**
|
|
122
|
+
*
|
|
123
|
+
* Use to require `Authorization: scheme ...` credentials for an HTTP API group
|
|
124
|
+
* or endpoint.
|
|
125
|
+
*
|
|
126
|
+
* **Details**
|
|
127
|
+
*
|
|
128
|
+
* Use `HttpApiBuilder.middlewareSecurity` to implement API middleware for this
|
|
129
|
+
* security scheme.
|
|
130
|
+
*
|
|
131
|
+
* @see {@link apiKey} for an API-key security scheme
|
|
132
|
+
* @see {@link basic} for an HTTP Basic security scheme
|
|
133
|
+
* @category constructors
|
|
134
|
+
* @since 4.0.0
|
|
135
|
+
*/
|
|
136
|
+
export declare const http: (options: {
|
|
137
|
+
readonly scheme: string;
|
|
138
|
+
}) => Http;
|
|
117
139
|
/**
|
|
118
140
|
* Creates a Bearer token security scheme.
|
|
119
141
|
*
|
|
@@ -132,7 +154,7 @@ export interface Credentials {
|
|
|
132
154
|
* @category constructors
|
|
133
155
|
* @since 4.0.0
|
|
134
156
|
*/
|
|
135
|
-
export declare const bearer:
|
|
157
|
+
export declare const bearer: Http;
|
|
136
158
|
/**
|
|
137
159
|
* Creates an API key security scheme.
|
|
138
160
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApiSecurity.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiSecurity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,QAAA,MAAM,MAAM,oCAAoC,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"HttpApiSecurity.d.ts","sourceRoot":"","sources":["../../../src/unstable/httpapi/HttpApiSecurity.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,6 +47,30 @@ const Proto = {
|
|
|
47
47
|
return pipeArguments(this, arguments);
|
|
48
48
|
}
|
|
49
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* Creates a Http token security scheme.
|
|
52
|
+
*
|
|
53
|
+
* **When to use**
|
|
54
|
+
*
|
|
55
|
+
* Use to require `Authorization: scheme ...` credentials for an HTTP API group
|
|
56
|
+
* or endpoint.
|
|
57
|
+
*
|
|
58
|
+
* **Details**
|
|
59
|
+
*
|
|
60
|
+
* Use `HttpApiBuilder.middlewareSecurity` to implement API middleware for this
|
|
61
|
+
* security scheme.
|
|
62
|
+
*
|
|
63
|
+
* @see {@link apiKey} for an API-key security scheme
|
|
64
|
+
* @see {@link basic} for an HTTP Basic security scheme
|
|
65
|
+
* @category constructors
|
|
66
|
+
* @since 4.0.0
|
|
67
|
+
*/
|
|
68
|
+
export const http = options => Object.assign(Object.create(Proto), {
|
|
69
|
+
_tag: "Http",
|
|
70
|
+
scheme: options.scheme,
|
|
71
|
+
schemeLength: options.scheme.length,
|
|
72
|
+
annotations: Context.empty()
|
|
73
|
+
});
|
|
50
74
|
/**
|
|
51
75
|
* Creates a Bearer token security scheme.
|
|
52
76
|
*
|
|
@@ -65,9 +89,8 @@ const Proto = {
|
|
|
65
89
|
* @category constructors
|
|
66
90
|
* @since 4.0.0
|
|
67
91
|
*/
|
|
68
|
-
export const bearer = /*#__PURE__*/
|
|
69
|
-
|
|
70
|
-
annotations: /*#__PURE__*/Context.empty()
|
|
92
|
+
export const bearer = /*#__PURE__*/http({
|
|
93
|
+
scheme: "Bearer"
|
|
71
94
|
});
|
|
72
95
|
/**
|
|
73
96
|
* Creates an API key security scheme.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpApiSecurity.js","names":["Context","dual","pipeArguments","TypeId","Proto","pipe","arguments","
|
|
1
|
+
{"version":3,"file":"HttpApiSecurity.js","names":["Context","dual","pipeArguments","TypeId","Proto","pipe","arguments","http","options","Object","assign","create","_tag","scheme","schemeLength","length","annotations","empty","bearer","apiKey","key","in","basic","annotateMerge","self","merge","annotate","service","value","add"],"sources":["../../../src/unstable/httpapi/HttpApiSecurity.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,OAAO,KAAKA,OAAO,MAAM,kBAAkB;AAC3C,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAAwBC,aAAa,QAAQ,mBAAmB;AAIhE,MAAMC,MAAM,GAAG,iCAAiC;AAoFhD,MAAMC,KAAK,GAAG;EACZ,CAACD,MAAM,GAAGA,MAAM;EAChBE,IAAIA,CAAA;IACF,OAAOH,aAAa,CAAC,IAAI,EAAEI,SAAS,CAAC;EACvC;CACD;AAED;;;;;;;;;;;;;;;;;;AAkBA,OAAO,MAAMC,IAAI,GAAIC,OAEpB,IACCC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACP,KAAK,CAAC,EAAE;EAClCQ,IAAI,EAAE,MAAM;EACZC,MAAM,EAAEL,OAAO,CAACK,MAAM;EACtBC,YAAY,EAAEN,OAAO,CAACK,MAAM,CAACE,MAAM;EACnCC,WAAW,EAAEhB,OAAO,CAACiB,KAAK;CAC3B,CAAC;AAEJ;;;;;;;;;;;;;;;;;;AAkBA,OAAO,MAAMC,MAAM,gBAASX,IAAI,CAAC;EAAEM,MAAM,EAAE;AAAQ,CAAE,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,MAAMM,MAAM,GAAIX,OAGtB,IACCC,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACP,KAAK,CAAC,EAAE;EAClCQ,IAAI,EAAE,QAAQ;EACdQ,GAAG,EAAEZ,OAAO,CAACY,GAAG;EAChBC,EAAE,EAAEb,OAAO,CAACa,EAAE,IAAI,QAAQ;EAC1BL,WAAW,EAAEhB,OAAO,CAACiB,KAAK;CAC3B,CAAC;AAEJ;;;;;;;;;;;;;;;;;AAiBA,OAAO,MAAMK,KAAK,gBAAUb,MAAM,CAACC,MAAM,cAACD,MAAM,CAACE,MAAM,CAACP,KAAK,CAAC,EAAE;EAC9DQ,IAAI,EAAE,OAAO;EACbI,WAAW,eAAEhB,OAAO,CAACiB,KAAK;CAC3B,CAAC;AAEF;;;;;;AAMA,OAAO,MAAMM,aAAa,gBAetBtB,IAAI,CACN,CAAC,EACD,CAA+BuB,IAAO,EAAER,WAA+B,KACrEP,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACP,KAAK,CAAC,EAAE;EAClC,GAAGoB,IAAI;EACPR,WAAW,EAAEhB,OAAO,CAACyB,KAAK,CAACD,IAAI,CAACR,WAAW,EAAEA,WAAW;CACzD,CAAC,CACL;AAED;;;;;;AAMA,OAAO,MAAMU,QAAQ,gBAejBzB,IAAI,CACN,CAAC,EACD,CAAkCuB,IAAO,EAAEG,OAA0B,EAAEC,KAAQ,KAC7EnB,MAAM,CAACC,MAAM,CAACD,MAAM,CAACE,MAAM,CAACP,KAAK,CAAC,EAAE;EAClC,GAAGoB,IAAI;EACPR,WAAW,EAAEhB,OAAO,CAAC6B,GAAG,CAACL,IAAI,CAACR,WAAW,EAAEW,OAAO,EAAEC,KAAK;CAC1D,CAAC,CACL","ignoreList":[]}
|
|
@@ -593,7 +593,7 @@ const makeSecurityScheme = security => {
|
|
|
593
593
|
scheme: "basic"
|
|
594
594
|
};
|
|
595
595
|
}
|
|
596
|
-
case "
|
|
596
|
+
case "Http":
|
|
597
597
|
{
|
|
598
598
|
const format = Context.getOption(security.annotations, Format).pipe(Option.map(format => ({
|
|
599
599
|
bearerFormat: format
|
|
@@ -601,7 +601,7 @@ const makeSecurityScheme = security => {
|
|
|
601
601
|
return {
|
|
602
602
|
...meta,
|
|
603
603
|
type: "http",
|
|
604
|
-
scheme:
|
|
604
|
+
scheme: security.scheme,
|
|
605
605
|
...format
|
|
606
606
|
};
|
|
607
607
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenApi.js","names":["Arr","Context","constFalse","JsonPatch","escapeToken","JsonSchema","Option","Schema","AST","SchemaRepresentation","HttpMethod","HttpApi","HttpApiEndpoint","HttpApiMiddleware","HttpApiSchema","Identifier","Service","Title","Version","Description","License","ExternalDocs","Servers","Format","Summary","Deprecated","Override","Exclude","Reference","defaultValue","Transform","servicesPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","summary","deprecated","externalDocs","servers","format","override","exclude","transform","apiCache","WeakMap","processAnnotation","ctx","annotation","f","o","getOption","isSome","value","fromApi","api","cached","get","spec","openapi","info","paths","components","schemas","securitySchemes","security","pathOps","reflect","onGroup","group","name","getOrElse","assign","transformFn","push","onEndpoint","endpoint","mergedAnnotations","middleware","op","operationId","topLevel","parameters","responses","path","replace","method","toLowerCase","processRequestBodies","payloadMap","size","c","hasContent","forEach","encoding","contentType","filtered","filter","s","isNoContent","ast","length","asts","map","getAST","Union","_tag","toEncodingAST","schema","requestBody","content","required","processResponseBodies","bodies","defaultDescription","status","descriptions","Array","from","join","String","processParameters","i","getLastEncoding","isObjects","ps","propertySignatures","in","isOptional","type","isSecurity","processHttpApiSecurity","makeSecurityScheme","hasBody","payload","params","entry","values","next","headers","query","extractResponseBodies","getSuccessSchemas","getStatusSuccess","resolveDescriptionOrIdentifier","getErrorSchemas","getStatusError","AdditionalSchemas","componentSchemas","componentSchema","resolveIdentifier","globalThis","Error","escapePath","isArrayNonEmpty","multiDocument","fromASTs","jsonSchemaMultiDocument","toMultiDocumentOpenApi3_1","toJsonSchemaMultiDocument","patchOps","oppath","definitions","definition","apply","keys","VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP","test","set","getStatus","getDescription","Map","process","addNoContent","addContent","getResponseEncoding","statusMap","Set","contentTypeMap","resolveDescription","Uint8ArrayEncoding","annotate","persistedFileToBinaryEncoding","isDeclaration","typeConstructor","recur","meta","scheme","pipe","bearerFormat","getOrUndefined"],"sources":["../../../src/unstable/httpapi/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"OpenApi.js","names":["Arr","Context","constFalse","JsonPatch","escapeToken","JsonSchema","Option","Schema","AST","SchemaRepresentation","HttpMethod","HttpApi","HttpApiEndpoint","HttpApiMiddleware","HttpApiSchema","Identifier","Service","Title","Version","Description","License","ExternalDocs","Servers","Format","Summary","Deprecated","Override","Exclude","Reference","defaultValue","Transform","servicesPartial","tags","entries","Object","options","context","empty","key","tag","undefined","add","annotations","identifier","title","version","description","license","summary","deprecated","externalDocs","servers","format","override","exclude","transform","apiCache","WeakMap","processAnnotation","ctx","annotation","f","o","getOption","isSome","value","fromApi","api","cached","get","spec","openapi","info","paths","components","schemas","securitySchemes","security","pathOps","reflect","onGroup","group","name","getOrElse","assign","transformFn","push","onEndpoint","endpoint","mergedAnnotations","middleware","op","operationId","topLevel","parameters","responses","path","replace","method","toLowerCase","processRequestBodies","payloadMap","size","c","hasContent","forEach","encoding","contentType","filtered","filter","s","isNoContent","ast","length","asts","map","getAST","Union","_tag","toEncodingAST","schema","requestBody","content","required","processResponseBodies","bodies","defaultDescription","status","descriptions","Array","from","join","String","processParameters","i","getLastEncoding","isObjects","ps","propertySignatures","in","isOptional","type","isSecurity","processHttpApiSecurity","makeSecurityScheme","hasBody","payload","params","entry","values","next","headers","query","extractResponseBodies","getSuccessSchemas","getStatusSuccess","resolveDescriptionOrIdentifier","getErrorSchemas","getStatusError","AdditionalSchemas","componentSchemas","componentSchema","resolveIdentifier","globalThis","Error","escapePath","isArrayNonEmpty","multiDocument","fromASTs","jsonSchemaMultiDocument","toMultiDocumentOpenApi3_1","toJsonSchemaMultiDocument","patchOps","oppath","definitions","definition","apply","keys","VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP","test","set","getStatus","getDescription","Map","process","addNoContent","addContent","getResponseEncoding","statusMap","Set","contentTypeMap","resolveDescription","Uint8ArrayEncoding","annotate","persistedFileToBinaryEncoding","isDeclaration","typeConstructor","recur","meta","scheme","pipe","bearerFormat","getOrUndefined"],"sources":["../../../src/unstable/httpapi/OpenApi.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -102,6 +102,7 @@ export class CloseScope extends Context.Service<
|
|
|
102
102
|
export const make: <A, E, R>(options: {
|
|
103
103
|
readonly acquire: Effect.Effect<A, E, R>
|
|
104
104
|
readonly idleTimeToLive?: Duration.Input | undefined
|
|
105
|
+
readonly acquireEagerly?: boolean | undefined
|
|
105
106
|
}) => Effect.Effect<
|
|
106
107
|
EntityResource<A, E>,
|
|
107
108
|
E,
|
|
@@ -109,13 +110,14 @@ export const make: <A, E, R>(options: {
|
|
|
109
110
|
> = Effect.fnUntraced(function*<A, E, R>(options: {
|
|
110
111
|
readonly acquire: Effect.Effect<A, E, R>
|
|
111
112
|
readonly idleTimeToLive?: Duration.Input | undefined
|
|
113
|
+
readonly acquireEagerly?: boolean | undefined
|
|
112
114
|
}) {
|
|
113
115
|
let shuttingDown = false
|
|
114
116
|
|
|
115
|
-
yield* Entity.keepAlive(true)
|
|
116
|
-
|
|
117
117
|
const ref = yield* RcRef.make({
|
|
118
118
|
acquire: Effect.gen(function*() {
|
|
119
|
+
yield* Entity.keepAlive(true)
|
|
120
|
+
|
|
119
121
|
const closeable = yield* Scope.make()
|
|
120
122
|
|
|
121
123
|
yield* Effect.addFinalizer(
|
|
@@ -138,8 +140,10 @@ export const make: <A, E, R>(options: {
|
|
|
138
140
|
return Effect.void
|
|
139
141
|
})
|
|
140
142
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
+
if (options.acquireEagerly) {
|
|
144
|
+
// Initialize the resource
|
|
145
|
+
yield* Effect.scoped(RcRef.get(ref))
|
|
146
|
+
}
|
|
143
147
|
|
|
144
148
|
return identity<EntityResource<A, E>>({
|
|
145
149
|
[TypeId]: TypeId,
|
|
@@ -443,10 +443,10 @@ export const securityDecode = <Security extends HttpApiSecurity.HttpApiSecurity>
|
|
|
443
443
|
HttpServerRequest | Request.ParsedSearchParams
|
|
444
444
|
> => {
|
|
445
445
|
switch (self._tag) {
|
|
446
|
-
case "
|
|
446
|
+
case "Http": {
|
|
447
447
|
return Effect.map(
|
|
448
448
|
HttpServerRequest,
|
|
449
|
-
(request) => Redacted.make((request.headers.authorization ?? "").slice(
|
|
449
|
+
(request) => Redacted.make((request.headers.authorization ?? "").slice(self.schemeLength)) as any
|
|
450
450
|
)
|
|
451
451
|
}
|
|
452
452
|
case "ApiKey": {
|
|
@@ -521,7 +521,6 @@ export const securitySetCookie = (
|
|
|
521
521
|
// Internal
|
|
522
522
|
// -----------------------------------------------------------------------------
|
|
523
523
|
|
|
524
|
-
const bearerLen = `Bearer `.length
|
|
525
524
|
const basicLen = `Basic `.length
|
|
526
525
|
|
|
527
526
|
const HandlersProto = {
|
|
@@ -51,7 +51,7 @@ const TypeId = "~effect/httpapi/HttpApiSecurity"
|
|
|
51
51
|
* @category models
|
|
52
52
|
* @since 4.0.0
|
|
53
53
|
*/
|
|
54
|
-
export type HttpApiSecurity =
|
|
54
|
+
export type HttpApiSecurity = Http | ApiKey | Basic
|
|
55
55
|
|
|
56
56
|
/**
|
|
57
57
|
* Helper types for HTTP API security schemes.
|
|
@@ -82,13 +82,16 @@ export declare namespace HttpApiSecurity {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
/**
|
|
85
|
-
*
|
|
85
|
+
* Http token security scheme whose decoded credential is a redacted token.
|
|
86
86
|
*
|
|
87
87
|
* @category models
|
|
88
88
|
* @since 4.0.0
|
|
89
89
|
*/
|
|
90
|
-
export interface
|
|
91
|
-
readonly _tag: "
|
|
90
|
+
export interface Http extends HttpApiSecurity.Proto<Redacted> {
|
|
91
|
+
readonly _tag: "Http"
|
|
92
|
+
readonly scheme: string
|
|
93
|
+
/** @internal */
|
|
94
|
+
readonly schemeLength: number
|
|
92
95
|
}
|
|
93
96
|
|
|
94
97
|
/**
|
|
@@ -131,6 +134,34 @@ const Proto = {
|
|
|
131
134
|
}
|
|
132
135
|
}
|
|
133
136
|
|
|
137
|
+
/**
|
|
138
|
+
* Creates a Http token security scheme.
|
|
139
|
+
*
|
|
140
|
+
* **When to use**
|
|
141
|
+
*
|
|
142
|
+
* Use to require `Authorization: scheme ...` credentials for an HTTP API group
|
|
143
|
+
* or endpoint.
|
|
144
|
+
*
|
|
145
|
+
* **Details**
|
|
146
|
+
*
|
|
147
|
+
* Use `HttpApiBuilder.middlewareSecurity` to implement API middleware for this
|
|
148
|
+
* security scheme.
|
|
149
|
+
*
|
|
150
|
+
* @see {@link apiKey} for an API-key security scheme
|
|
151
|
+
* @see {@link basic} for an HTTP Basic security scheme
|
|
152
|
+
* @category constructors
|
|
153
|
+
* @since 4.0.0
|
|
154
|
+
*/
|
|
155
|
+
export const http = (options: {
|
|
156
|
+
readonly scheme: string
|
|
157
|
+
}): Http =>
|
|
158
|
+
Object.assign(Object.create(Proto), {
|
|
159
|
+
_tag: "Http",
|
|
160
|
+
scheme: options.scheme,
|
|
161
|
+
schemeLength: options.scheme.length,
|
|
162
|
+
annotations: Context.empty()
|
|
163
|
+
})
|
|
164
|
+
|
|
134
165
|
/**
|
|
135
166
|
* Creates a Bearer token security scheme.
|
|
136
167
|
*
|
|
@@ -149,10 +180,7 @@ const Proto = {
|
|
|
149
180
|
* @category constructors
|
|
150
181
|
* @since 4.0.0
|
|
151
182
|
*/
|
|
152
|
-
export const bearer:
|
|
153
|
-
_tag: "Bearer",
|
|
154
|
-
annotations: Context.empty()
|
|
155
|
-
})
|
|
183
|
+
export const bearer: Http = http({ scheme: "Bearer" })
|
|
156
184
|
|
|
157
185
|
/**
|
|
158
186
|
* Creates an API key security scheme.
|
|
@@ -730,7 +730,7 @@ const makeSecurityScheme = (security: HttpApiSecurity): OpenAPISecurityScheme =>
|
|
|
730
730
|
scheme: "basic"
|
|
731
731
|
}
|
|
732
732
|
}
|
|
733
|
-
case "
|
|
733
|
+
case "Http": {
|
|
734
734
|
const format = Context.getOption(security.annotations, Format).pipe(
|
|
735
735
|
Option.map((format) => ({ bearerFormat: format })),
|
|
736
736
|
Option.getOrUndefined
|
|
@@ -738,7 +738,7 @@ const makeSecurityScheme = (security: HttpApiSecurity): OpenAPISecurityScheme =>
|
|
|
738
738
|
return {
|
|
739
739
|
...meta,
|
|
740
740
|
type: "http",
|
|
741
|
-
scheme:
|
|
741
|
+
scheme: security.scheme,
|
|
742
742
|
...format
|
|
743
743
|
}
|
|
744
744
|
}
|