encore.dev 1.35.2 → 1.36.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/api/mod.ts +9 -5
- package/{meta.ts → app_meta.ts} +4 -4
- package/dist/api/mod.d.ts +7 -1
- package/dist/api/mod.js +3 -0
- package/dist/api/mod.js.map +1 -1
- package/dist/{meta.d.ts → app_meta.d.ts} +2 -2
- package/dist/{meta.js → app_meta.js} +3 -3
- package/dist/app_meta.js.map +1 -0
- package/dist/internal/api/node_http.d.ts +68 -0
- package/dist/internal/api/node_http.js +204 -0
- package/dist/internal/api/node_http.js.map +1 -0
- package/dist/internal/appinit/mod.d.ts +1 -1
- package/dist/internal/appinit/mod.js +13 -1
- package/dist/internal/appinit/mod.js.map +1 -1
- package/dist/internal/runtime/napi/napi.cjs +5 -1
- package/dist/internal/runtime/napi/napi.d.cts +55 -0
- package/dist/mod.d.ts +4 -2
- package/dist/mod.js +2 -1
- package/dist/mod.js.map +1 -1
- package/dist/req_meta.d.ts +38 -0
- package/dist/req_meta.js +48 -0
- package/dist/req_meta.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/internal/api/node_http.ts +289 -0
- package/internal/appinit/mod.ts +18 -2
- package/mod.ts +12 -2
- package/package.json +1 -1
- package/req_meta.ts +100 -0
- package/dist/meta.js.map +0 -1
package/api/mod.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
2
|
|
|
3
|
+
import type { IncomingMessage, ServerResponse } from "http";
|
|
4
|
+
|
|
3
5
|
export type Method =
|
|
4
6
|
| "GET"
|
|
5
7
|
| "POST"
|
|
@@ -22,14 +24,10 @@ export type Query<
|
|
|
22
24
|
> = TypeOrName extends string ? string : TypeOrName;
|
|
23
25
|
|
|
24
26
|
export interface APIOptions {
|
|
25
|
-
method?: Method | Method[];
|
|
27
|
+
method?: Method | Method[] | "*";
|
|
26
28
|
path?: string;
|
|
27
29
|
expose?: boolean;
|
|
28
30
|
auth?: boolean;
|
|
29
|
-
|
|
30
|
-
// access?: "public" | "auth" | "private";
|
|
31
|
-
// tags?: string[];
|
|
32
|
-
// raw?: boolean;
|
|
33
31
|
}
|
|
34
32
|
|
|
35
33
|
export type Handler<
|
|
@@ -49,5 +47,11 @@ export function api<
|
|
|
49
47
|
return fn;
|
|
50
48
|
}
|
|
51
49
|
|
|
50
|
+
export type RawHandler = (req: IncomingMessage, resp: ServerResponse) => void;
|
|
51
|
+
|
|
52
|
+
api.raw = function raw(options: APIOptions, fn: RawHandler) {
|
|
53
|
+
return fn;
|
|
54
|
+
};
|
|
55
|
+
|
|
52
56
|
export { APIError, ErrCode } from "./error";
|
|
53
57
|
export { Gateway, type GatewayConfig } from "./gateway";
|
package/{meta.ts → app_meta.ts}
RENAMED
|
@@ -4,7 +4,7 @@ import * as runtime from "./internal/runtime/mod";
|
|
|
4
4
|
export interface AppMeta {
|
|
5
5
|
// The Encore application ID. If the application is not linked to the Encore platform this will be an empty string.
|
|
6
6
|
// To link to the Encore platform run `encore app link` from your terminal in the root directory of the Encore app.
|
|
7
|
-
|
|
7
|
+
appId: string;
|
|
8
8
|
|
|
9
9
|
// The base URL which can be used to call the API of this running application.
|
|
10
10
|
//
|
|
@@ -12,7 +12,7 @@ export interface AppMeta {
|
|
|
12
12
|
//
|
|
13
13
|
// If a custom domain is used for this environment it is returned here, but note that
|
|
14
14
|
// changes only take effect at the time of deployment while custom domains can be updated at any time.
|
|
15
|
-
|
|
15
|
+
apiBaseUrl: string;
|
|
16
16
|
|
|
17
17
|
// Information about the environment the app is running in.
|
|
18
18
|
environment: EnvironmentMeta;
|
|
@@ -82,8 +82,8 @@ export function appMeta(): AppMeta {
|
|
|
82
82
|
if (cached === null) {
|
|
83
83
|
let rt = runtime.RT.appMeta();
|
|
84
84
|
cached = {
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
appId: rt.appId,
|
|
86
|
+
apiBaseUrl: rt.apiBaseUrl,
|
|
87
87
|
environment: {
|
|
88
88
|
name: rt.environment.name,
|
|
89
89
|
type: envType(rt.environment.type),
|
package/dist/api/mod.d.ts
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type { IncomingMessage, ServerResponse } from "http";
|
|
1
3
|
export type Method = "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "TRACE" | "CONNECT";
|
|
2
4
|
export type Header<TypeOrName extends string | number | boolean = string, Name extends string = ""> = TypeOrName extends string ? string : TypeOrName;
|
|
3
5
|
export type Query<TypeOrName extends string | number | boolean = string, Name extends string = ""> = TypeOrName extends string ? string : TypeOrName;
|
|
4
6
|
export interface APIOptions {
|
|
5
|
-
method?: Method | Method[];
|
|
7
|
+
method?: Method | Method[] | "*";
|
|
6
8
|
path?: string;
|
|
7
9
|
expose?: boolean;
|
|
8
10
|
auth?: boolean;
|
|
9
11
|
}
|
|
10
12
|
export type Handler<Params extends object | void = void, Response extends object | void = void> = Params extends void ? () => Promise<Response> : (params: Params) => Promise<Response>;
|
|
11
13
|
export declare function api<Params extends object | void = void, Response extends object | void = void>(options: APIOptions, fn: Handler<Params, Response>): Handler<Params, Response>;
|
|
14
|
+
export declare namespace api {
|
|
15
|
+
var raw: (options: APIOptions, fn: RawHandler) => RawHandler;
|
|
16
|
+
}
|
|
17
|
+
export type RawHandler = (req: IncomingMessage, resp: ServerResponse) => void;
|
|
12
18
|
export { APIError, ErrCode } from "./error.js";
|
|
13
19
|
export { Gateway, type GatewayConfig } from "./gateway.js";
|
package/dist/api/mod.js
CHANGED
package/dist/api/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../api/mod.ts"],"names":[],"mappings":"AAAA,oBAAoB;
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../api/mod.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAuCpB,MAAM,UAAU,GAAG,CAIjB,OAAmB,EACnB,EAA6B;IAE7B,OAAO,EAAE,CAAC;AACZ,CAAC;AAID,GAAG,CAAC,GAAG,GAAG,SAAS,GAAG,CAAC,OAAmB,EAAE,EAAc;IACxD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAsB,MAAM,WAAW,CAAC"}
|
|
@@ -8,8 +8,8 @@ export function appMeta() {
|
|
|
8
8
|
if (cached === null) {
|
|
9
9
|
let rt = runtime.RT.appMeta();
|
|
10
10
|
cached = {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
appId: rt.appId,
|
|
12
|
+
apiBaseUrl: rt.apiBaseUrl,
|
|
13
13
|
environment: {
|
|
14
14
|
name: rt.environment.name,
|
|
15
15
|
type: envType(rt.environment.type),
|
|
@@ -58,4 +58,4 @@ function cloudProvider(rtType) {
|
|
|
58
58
|
}
|
|
59
59
|
// The cached app metadata. Set on first use.
|
|
60
60
|
let cached = null;
|
|
61
|
-
//# sourceMappingURL=
|
|
61
|
+
//# sourceMappingURL=app_meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app_meta.js","sourceRoot":"","sources":["../app_meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AA2ElD,yDAAyD;AACzD,EAAE;AACF,2DAA2D;AAC3D,oDAAoD;AACpD,MAAM,UAAU,OAAO;IACrB,qCAAqC;IACrC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,GAAG;YACP,KAAK,EAAE,EAAE,CAAC,KAAK;YACf,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,WAAW,EAAE;gBACX,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI;gBACzB,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;gBAClC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;aAC3C;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ;gBAC3B,kBAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,kBAAkB;aAChD;YACD,MAAM,EAAE;gBACN,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE;aACjB;SACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,OAAO,CAAC,MAA+B;IAC9C,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,eAAe,CAAC,UAAU;YACrC,OAAO,YAAY,CAAC;QACtB,KAAK,OAAO,CAAC,eAAe,CAAC,WAAW;YACtC,OAAO,aAAa,CAAC;QACvB,KAAK,OAAO,CAAC,eAAe,CAAC,SAAS;YACpC,OAAO,WAAW,CAAC;QACrB,KAAK,OAAO,CAAC,eAAe,CAAC,IAAI;YAC/B,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,MAA6B;IAClD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG;YAC5B,OAAO,KAAK,CAAC;QACf,KAAK,OAAO,CAAC,aAAa,CAAC,GAAG;YAC5B,OAAO,KAAK,CAAC;QACf,KAAK,OAAO,CAAC,aAAa,CAAC,KAAK;YAC9B,OAAO,OAAO,CAAC;QACjB,KAAK,OAAO,CAAC,aAAa,CAAC,MAAM;YAC/B,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO,CAAC,aAAa,CAAC,KAAK;YAC9B,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,IAAI,MAAM,GAAmB,IAAI,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
4
|
+
/// <reference types="node" />
|
|
5
|
+
/// <reference types="node" />
|
|
6
|
+
import type { IncomingHttpHeaders, OutgoingHttpHeader, OutgoingHttpHeaders } from "node:http";
|
|
7
|
+
import type { Socket } from "node:net";
|
|
8
|
+
import * as stream from "node:stream";
|
|
9
|
+
import * as runtime from "../runtime/mod.js";
|
|
10
|
+
export declare class RawRequest extends stream.Readable {
|
|
11
|
+
complete: boolean;
|
|
12
|
+
trailers: NodeJS.Dict<string>;
|
|
13
|
+
trailersDistinct: NodeJS.Dict<string[]>;
|
|
14
|
+
rawTrailers: string[];
|
|
15
|
+
private body;
|
|
16
|
+
private req;
|
|
17
|
+
constructor(req: runtime.Request, body: runtime.BodyReader);
|
|
18
|
+
get method(): string;
|
|
19
|
+
_url: string | undefined;
|
|
20
|
+
get url(): string;
|
|
21
|
+
set url(value: string);
|
|
22
|
+
get headers(): IncomingHttpHeaders;
|
|
23
|
+
_headersDistinct: NodeJS.Dict<string[]> | undefined;
|
|
24
|
+
get headersDistinct(): NodeJS.Dict<string[]>;
|
|
25
|
+
_rawHeaders: string[] | undefined;
|
|
26
|
+
get rawHeaders(): string[];
|
|
27
|
+
private _meta;
|
|
28
|
+
private get meta();
|
|
29
|
+
_read(size: number): void;
|
|
30
|
+
setTimeout(msecs: number, callback?: () => void): this;
|
|
31
|
+
}
|
|
32
|
+
export declare class RawResponse extends stream.Writable {
|
|
33
|
+
readonly req: RawRequest;
|
|
34
|
+
chunkedEncoding: boolean;
|
|
35
|
+
shouldKeepAlive: boolean;
|
|
36
|
+
sendDate: boolean;
|
|
37
|
+
statusCode: number;
|
|
38
|
+
statusMessage: string | undefined;
|
|
39
|
+
finished: boolean;
|
|
40
|
+
headersSent: boolean;
|
|
41
|
+
strictContentLength: boolean;
|
|
42
|
+
readonly connection: Socket | null;
|
|
43
|
+
readonly socket: Socket | null;
|
|
44
|
+
private w;
|
|
45
|
+
private headers;
|
|
46
|
+
constructor(req: RawRequest, w: runtime.ResponseWriter);
|
|
47
|
+
write(chunk: any, callback?: ((error: Error | null | undefined) => void) | undefined): boolean;
|
|
48
|
+
write(chunk: any, encoding: BufferEncoding, callback?: ((error: Error | null | undefined) => void) | undefined): boolean;
|
|
49
|
+
_implicitHeader(): void;
|
|
50
|
+
_writeHeaderIfNeeded(): void;
|
|
51
|
+
_write(chunk: Buffer, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
|
|
52
|
+
_writev(chunks: Array<{
|
|
53
|
+
chunk: Buffer;
|
|
54
|
+
}>, callback: (error?: Error | null) => void): void;
|
|
55
|
+
_final(callback: (error?: Error | null | undefined) => void): void;
|
|
56
|
+
setTimeout(msecs: number, callback?: () => void): this;
|
|
57
|
+
setHeader(name: string, value: number | string | string[]): this;
|
|
58
|
+
appendHeader(name: string, value: number | string | string[]): this;
|
|
59
|
+
getHeader(name: string): number | string | string[] | undefined;
|
|
60
|
+
getHeaders(): OutgoingHttpHeaders;
|
|
61
|
+
getHeaderNames(): string[];
|
|
62
|
+
hasHeader(name: string): boolean;
|
|
63
|
+
removeHeader(name: string): void;
|
|
64
|
+
addTrailers(headers: OutgoingHttpHeaders | readonly [string, string][]): void;
|
|
65
|
+
flushHeaders(): void;
|
|
66
|
+
writeHead(statusCode: number, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this;
|
|
67
|
+
writeHead(statusCode: number, statusMessage?: string, headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this;
|
|
68
|
+
}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import * as stream from "node:stream";
|
|
2
|
+
export class RawRequest extends stream.Readable {
|
|
3
|
+
complete;
|
|
4
|
+
trailers;
|
|
5
|
+
trailersDistinct;
|
|
6
|
+
rawTrailers;
|
|
7
|
+
body;
|
|
8
|
+
req;
|
|
9
|
+
constructor(req, body) {
|
|
10
|
+
super({});
|
|
11
|
+
this.req = req;
|
|
12
|
+
this.complete = false;
|
|
13
|
+
this.trailers = {};
|
|
14
|
+
this.trailersDistinct = {};
|
|
15
|
+
this.rawTrailers = [];
|
|
16
|
+
this.body = body;
|
|
17
|
+
this.body.start(this.push.bind(this), this.destroy.bind(this));
|
|
18
|
+
}
|
|
19
|
+
get method() {
|
|
20
|
+
return this.meta.apiCall.method;
|
|
21
|
+
}
|
|
22
|
+
_url;
|
|
23
|
+
get url() {
|
|
24
|
+
if (!this._url) {
|
|
25
|
+
this._url = this.meta.apiCall.pathAndQuery;
|
|
26
|
+
}
|
|
27
|
+
return this._url;
|
|
28
|
+
}
|
|
29
|
+
set url(value) {
|
|
30
|
+
this._url = value;
|
|
31
|
+
}
|
|
32
|
+
get headers() {
|
|
33
|
+
return this.meta.apiCall.headers;
|
|
34
|
+
}
|
|
35
|
+
_headersDistinct;
|
|
36
|
+
get headersDistinct() {
|
|
37
|
+
if (this._headersDistinct) {
|
|
38
|
+
return this._headersDistinct;
|
|
39
|
+
}
|
|
40
|
+
const headers = {};
|
|
41
|
+
for (const [key, value] of Object.entries(this.headers)) {
|
|
42
|
+
if (value !== undefined) {
|
|
43
|
+
const val = Array.isArray(value) ? value : [value];
|
|
44
|
+
headers[key] = val;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
this._headersDistinct = headers;
|
|
48
|
+
return headers;
|
|
49
|
+
}
|
|
50
|
+
_rawHeaders;
|
|
51
|
+
get rawHeaders() {
|
|
52
|
+
if (this._rawHeaders) {
|
|
53
|
+
return this._rawHeaders;
|
|
54
|
+
}
|
|
55
|
+
this._rawHeaders = Object.keys(this.headers);
|
|
56
|
+
return this._rawHeaders;
|
|
57
|
+
}
|
|
58
|
+
_meta;
|
|
59
|
+
get meta() {
|
|
60
|
+
if (this._meta === undefined) {
|
|
61
|
+
this._meta = this.req.meta();
|
|
62
|
+
}
|
|
63
|
+
return this._meta;
|
|
64
|
+
}
|
|
65
|
+
_read(size) {
|
|
66
|
+
this.body.read();
|
|
67
|
+
}
|
|
68
|
+
setTimeout(msecs, callback) {
|
|
69
|
+
// Not yet implemented.
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export class RawResponse extends stream.Writable {
|
|
74
|
+
req;
|
|
75
|
+
chunkedEncoding;
|
|
76
|
+
shouldKeepAlive;
|
|
77
|
+
// useChunkedEncodingByDefault: boolean;
|
|
78
|
+
sendDate;
|
|
79
|
+
statusCode;
|
|
80
|
+
statusMessage;
|
|
81
|
+
finished; // deprecated
|
|
82
|
+
headersSent;
|
|
83
|
+
strictContentLength;
|
|
84
|
+
connection; // deprecated
|
|
85
|
+
socket;
|
|
86
|
+
w;
|
|
87
|
+
headers;
|
|
88
|
+
constructor(req, w) {
|
|
89
|
+
super({ highWaterMark: 1024 * 1024 }); // TODO?
|
|
90
|
+
this.req = req;
|
|
91
|
+
this.chunkedEncoding = false; // TODO
|
|
92
|
+
this.shouldKeepAlive = true;
|
|
93
|
+
this.sendDate = true;
|
|
94
|
+
this.statusCode = 200;
|
|
95
|
+
this.statusMessage = undefined;
|
|
96
|
+
this.finished = false;
|
|
97
|
+
this.strictContentLength = false;
|
|
98
|
+
this.headersSent = false;
|
|
99
|
+
this.headers = {};
|
|
100
|
+
this.connection = null;
|
|
101
|
+
this.socket = null;
|
|
102
|
+
this.w = w;
|
|
103
|
+
}
|
|
104
|
+
write(chunk, encoding, callback) {
|
|
105
|
+
const res = super.write(chunk, encoding, callback);
|
|
106
|
+
// HACK: Work around pipe deadlock in Node.js when writing a large response.
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
// Needed for Next.js compatibility.
|
|
110
|
+
_implicitHeader() {
|
|
111
|
+
this._writeHeaderIfNeeded();
|
|
112
|
+
}
|
|
113
|
+
_writeHeaderIfNeeded() {
|
|
114
|
+
if (!this.headersSent) {
|
|
115
|
+
this.w.writeHead(this.statusCode, this.headers);
|
|
116
|
+
this.headersSent = true;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
_write(chunk, _encoding, callback) {
|
|
120
|
+
this._writeHeaderIfNeeded();
|
|
121
|
+
this.w.writeBody(chunk, callback);
|
|
122
|
+
}
|
|
123
|
+
_writev(chunks, callback) {
|
|
124
|
+
this._writeHeaderIfNeeded();
|
|
125
|
+
this.w.writeBodyMulti(chunks.map((ch) => ch.chunk), callback);
|
|
126
|
+
}
|
|
127
|
+
_final(callback) {
|
|
128
|
+
this.w.close(undefined, callback);
|
|
129
|
+
}
|
|
130
|
+
setTimeout(msecs, callback) {
|
|
131
|
+
// Not implemented yet.
|
|
132
|
+
return this;
|
|
133
|
+
}
|
|
134
|
+
setHeader(name, value) {
|
|
135
|
+
this.headers[name] = value;
|
|
136
|
+
return this;
|
|
137
|
+
}
|
|
138
|
+
appendHeader(name, value) {
|
|
139
|
+
const existing = this.headers[name];
|
|
140
|
+
const existingIsArr = Array.isArray(existing);
|
|
141
|
+
const valIsArr = Array.isArray(value);
|
|
142
|
+
if (existingIsArr && valIsArr) {
|
|
143
|
+
existing.push(...value);
|
|
144
|
+
}
|
|
145
|
+
else if (existingIsArr) {
|
|
146
|
+
existing.push("" + value);
|
|
147
|
+
}
|
|
148
|
+
else if (existing !== undefined) {
|
|
149
|
+
this.headers[name] = ["" + existing, "" + value];
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
this.headers[name] = value;
|
|
153
|
+
}
|
|
154
|
+
return this;
|
|
155
|
+
}
|
|
156
|
+
getHeader(name) {
|
|
157
|
+
return this.headers[name];
|
|
158
|
+
}
|
|
159
|
+
getHeaders() {
|
|
160
|
+
return this.headers;
|
|
161
|
+
}
|
|
162
|
+
getHeaderNames() {
|
|
163
|
+
return Object.keys(this.headers);
|
|
164
|
+
}
|
|
165
|
+
hasHeader(name) {
|
|
166
|
+
return this.headers[name] !== undefined;
|
|
167
|
+
}
|
|
168
|
+
removeHeader(name) {
|
|
169
|
+
delete this.headers[name];
|
|
170
|
+
}
|
|
171
|
+
addTrailers(headers) {
|
|
172
|
+
// Not implemented yet.
|
|
173
|
+
}
|
|
174
|
+
flushHeaders() {
|
|
175
|
+
this._writeHeaderIfNeeded();
|
|
176
|
+
}
|
|
177
|
+
writeHead(statusCode, statusMessageOrHeaders, headers) {
|
|
178
|
+
this.statusCode = statusCode;
|
|
179
|
+
const headersIn = typeof statusMessageOrHeaders === "string"
|
|
180
|
+
? headers
|
|
181
|
+
: statusMessageOrHeaders;
|
|
182
|
+
// Merge headers, if provided.
|
|
183
|
+
if (headersIn) {
|
|
184
|
+
if (Array.isArray(headersIn)) {
|
|
185
|
+
for (let i = 0; i < headersIn.length; i += 2) {
|
|
186
|
+
const key = headersIn[i];
|
|
187
|
+
const value = headersIn[i + 1];
|
|
188
|
+
if (typeof key === "string" && typeof value === "string") {
|
|
189
|
+
this.headers[key] = value;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
for (const key in headersIn) {
|
|
195
|
+
const value = headersIn[key];
|
|
196
|
+
this.headers[key] = value;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
this._writeHeaderIfNeeded();
|
|
201
|
+
return this;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=node_http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node_http.js","sourceRoot":"","sources":["../../../internal/api/node_http.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as runtime from "../runtime/mod.js";
|
|
2
1
|
import { Gateway } from "../../api/gateway.js";
|
|
2
|
+
import * as runtime from "../runtime/mod.js";
|
|
3
3
|
export type Handler = runtime.ApiRoute;
|
|
4
4
|
export declare function registerHandlers(handlers: Handler[]): void;
|
|
5
5
|
export declare function registerTestHandler(handler: Handler): void;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { RawRequest, RawResponse } from "../api/node_http.js";
|
|
2
2
|
import { setCurrentRequest } from "../reqtrack/mod.js";
|
|
3
|
+
import * as runtime from "../runtime/mod.js";
|
|
3
4
|
export function registerHandlers(handlers) {
|
|
4
5
|
runtime.RT.registerHandlers(handlers.map((h) => transformHandler(h)));
|
|
5
6
|
}
|
|
@@ -14,6 +15,17 @@ export async function run() {
|
|
|
14
15
|
return runtime.RT.runForever();
|
|
15
16
|
}
|
|
16
17
|
function transformHandler(h) {
|
|
18
|
+
if (h.raw) {
|
|
19
|
+
return {
|
|
20
|
+
...h,
|
|
21
|
+
handler: (req, resp, body) => {
|
|
22
|
+
setCurrentRequest(req);
|
|
23
|
+
const rawReq = new RawRequest(req, body);
|
|
24
|
+
const rawResp = new RawResponse(rawReq, resp);
|
|
25
|
+
h.handler(rawReq, rawResp);
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
}
|
|
17
29
|
return {
|
|
18
30
|
...h,
|
|
19
31
|
handler: (req) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../internal/appinit/mod.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../internal/appinit/mod.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAI1C,MAAM,UAAU,gBAAgB,CAAC,QAAmB;IAClD,OAAO,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,OAAO,CAAC,EAAE,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAmB;IAClD,qEAAqE;IACrE,gDAAgD;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG;IACvB,OAAO,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAU;IAClC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;YACL,GAAG,CAAC;YACJ,OAAO,EAAE,CACP,GAAoB,EACpB,IAA4B,EAC5B,IAAwB,EACxB,EAAE;gBACF,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC9C,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC7B,CAAC;SACF,CAAC;IACJ,CAAC;IACD,OAAO;QACL,GAAG,CAAC;QACJ,OAAO,EAAE,CAAC,GAAoB,EAAE,EAAE;YAChC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7D,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// The version of the runtime this JS bundle was generated for.
|
|
2
|
-
const version = "v1.
|
|
2
|
+
const version = "v1.36.0";
|
|
3
3
|
|
|
4
4
|
// Load the native module.
|
|
5
5
|
const nativeModulePath = process.env.ENCORE_RUNTIME_LIB;
|
|
@@ -12,6 +12,7 @@ const nativeModule = require(nativeModulePath);
|
|
|
12
12
|
|
|
13
13
|
// Load the exported objects from the native module.
|
|
14
14
|
const {
|
|
15
|
+
BodyReader,
|
|
15
16
|
CloudProvider,
|
|
16
17
|
Cursor,
|
|
17
18
|
EnvironmentType,
|
|
@@ -22,6 +23,7 @@ const {
|
|
|
22
23
|
PubSubTopic,
|
|
23
24
|
QueryArgs,
|
|
24
25
|
Request,
|
|
26
|
+
ResponseWriter,
|
|
25
27
|
Row,
|
|
26
28
|
Runtime,
|
|
27
29
|
SQLDatabase,
|
|
@@ -31,6 +33,7 @@ const {
|
|
|
31
33
|
|
|
32
34
|
// Export the objects from the native module.
|
|
33
35
|
module.exports = {
|
|
36
|
+
BodyReader,
|
|
34
37
|
CloudProvider,
|
|
35
38
|
Cursor,
|
|
36
39
|
EnvironmentType,
|
|
@@ -41,6 +44,7 @@ module.exports = {
|
|
|
41
44
|
PubSubTopic,
|
|
42
45
|
QueryArgs,
|
|
43
46
|
Request,
|
|
47
|
+
ResponseWriter,
|
|
44
48
|
Row,
|
|
45
49
|
Runtime,
|
|
46
50
|
SQLDatabase,
|
|
@@ -2,9 +2,26 @@
|
|
|
2
2
|
/* eslint:disable */
|
|
3
3
|
// Automatically generated by gen_type_defs. Do not edit.
|
|
4
4
|
|
|
5
|
+
export interface ApiCallData {
|
|
6
|
+
api: APIDesc
|
|
7
|
+
method: string
|
|
8
|
+
path: string
|
|
9
|
+
pathAndQuery: string
|
|
10
|
+
pathParams?: any
|
|
11
|
+
parsedPayload?: any
|
|
12
|
+
headers: Record<string, any>
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface ApiDesc {
|
|
16
|
+
service: string
|
|
17
|
+
endpoint: string
|
|
18
|
+
raw: boolean
|
|
19
|
+
}
|
|
20
|
+
|
|
5
21
|
export interface ApiRoute {
|
|
6
22
|
service: string
|
|
7
23
|
name: string
|
|
24
|
+
raw: boolean
|
|
8
25
|
handler: (...args: any[]) => any
|
|
9
26
|
}
|
|
10
27
|
|
|
@@ -16,6 +33,11 @@ export interface AppMeta {
|
|
|
16
33
|
deploy: DeployMeta
|
|
17
34
|
}
|
|
18
35
|
|
|
36
|
+
export class BodyReader {
|
|
37
|
+
start(push: (...args: any[]) => any, destroy: (...args: any[]) => any): void
|
|
38
|
+
read(): void
|
|
39
|
+
}
|
|
40
|
+
|
|
19
41
|
export interface BuildMeta {
|
|
20
42
|
revision: string
|
|
21
43
|
uncommittedChanges: boolean
|
|
@@ -79,6 +101,16 @@ export class Logger {
|
|
|
79
101
|
with(fields: Record<string, unknown>): this
|
|
80
102
|
}
|
|
81
103
|
|
|
104
|
+
export interface PubSubMessageData {
|
|
105
|
+
service: string
|
|
106
|
+
topic: string
|
|
107
|
+
subscription: string
|
|
108
|
+
id: string
|
|
109
|
+
publishedAt: string
|
|
110
|
+
deliveryAttempt: number
|
|
111
|
+
parsedPayload?: any
|
|
112
|
+
}
|
|
113
|
+
|
|
82
114
|
export class PubSubSubscription {
|
|
83
115
|
subscribe(): Promise<void>
|
|
84
116
|
}
|
|
@@ -99,9 +131,24 @@ export class QueryArgs {
|
|
|
99
131
|
|
|
100
132
|
export class Request {
|
|
101
133
|
payload(): unknown
|
|
134
|
+
meta(): RequestMeta
|
|
102
135
|
getAuthData(): unknown
|
|
103
136
|
}
|
|
104
137
|
|
|
138
|
+
export interface RequestMeta {
|
|
139
|
+
startedAt: string
|
|
140
|
+
trace?: TraceData
|
|
141
|
+
apiCall?: APICallData
|
|
142
|
+
pubsubMessage?: PubSubMessageData
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export class ResponseWriter {
|
|
146
|
+
writeHead(status: number, headers: Array<string> | Record<string, string | number | Array<string>>): void
|
|
147
|
+
writeBody(buf: Buffer, callback?: (...args: any[]) => any | undefined | null): void
|
|
148
|
+
writeBodyMulti(bufs: Array<Buffer>, callback?: (...args: any[]) => any | undefined | null): void
|
|
149
|
+
close(buf?: Buffer | undefined | null, callback?: (...args: any[]) => any | undefined | null): void
|
|
150
|
+
}
|
|
151
|
+
|
|
105
152
|
export class Row {
|
|
106
153
|
values(): Record<string, unknown>
|
|
107
154
|
}
|
|
@@ -140,3 +187,11 @@ export class SqlDatabase {
|
|
|
140
187
|
}
|
|
141
188
|
export type SQLDatabase = SqlDatabase
|
|
142
189
|
|
|
190
|
+
export interface TraceData {
|
|
191
|
+
traceId: string
|
|
192
|
+
spanId: string
|
|
193
|
+
parentTraceId?: string
|
|
194
|
+
parentSpanId?: string
|
|
195
|
+
extCorrelationId?: string
|
|
196
|
+
}
|
|
197
|
+
|
package/dist/mod.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
export { appMeta } from "./
|
|
2
|
-
export type { AppMeta, BuildMeta, CloudProvider, DeployMeta, EnvironmentMeta, EnvironmentType, } from "./
|
|
1
|
+
export { appMeta } from "./app_meta.js";
|
|
2
|
+
export type { AppMeta, BuildMeta, CloudProvider, DeployMeta, EnvironmentMeta, EnvironmentType, } from "./app_meta.js";
|
|
3
|
+
export { currentRequest } from "./req_meta.js";
|
|
4
|
+
export type { APICallMeta, APIDesc, Method, PubSubMessageMeta, RequestMeta, TraceData, } from "./req_meta.js";
|
package/dist/mod.js
CHANGED
package/dist/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAUrC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface APIDesc {
|
|
2
|
+
service: string;
|
|
3
|
+
endpoint: string;
|
|
4
|
+
raw: boolean;
|
|
5
|
+
}
|
|
6
|
+
export type Method = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | "OPTIONS" | "CONNECT" | "TRACE";
|
|
7
|
+
export interface APICallMeta {
|
|
8
|
+
type: "api-call";
|
|
9
|
+
api: APIDesc;
|
|
10
|
+
method: Method;
|
|
11
|
+
path: string;
|
|
12
|
+
pathAndQuery: string;
|
|
13
|
+
pathParams: Record<string, any>;
|
|
14
|
+
headers: Record<string, string | string[]>;
|
|
15
|
+
parsedPayload?: Record<string, any>;
|
|
16
|
+
}
|
|
17
|
+
export interface PubSubMessageMeta {
|
|
18
|
+
type: "pubsub-message";
|
|
19
|
+
service: string;
|
|
20
|
+
topic: string;
|
|
21
|
+
subscription: string;
|
|
22
|
+
messageId: string;
|
|
23
|
+
deliveryAttempt: number;
|
|
24
|
+
parsedPayload?: Record<string, any>;
|
|
25
|
+
}
|
|
26
|
+
export interface TraceData {
|
|
27
|
+
traceId: string;
|
|
28
|
+
spanId: string;
|
|
29
|
+
parentTraceId?: string;
|
|
30
|
+
parentSpanId?: string;
|
|
31
|
+
extCorrelationId?: string;
|
|
32
|
+
}
|
|
33
|
+
interface BaseRequestMeta {
|
|
34
|
+
trace?: TraceData;
|
|
35
|
+
}
|
|
36
|
+
export type RequestMeta = (APICallMeta | PubSubMessageMeta) & BaseRequestMeta;
|
|
37
|
+
export declare function currentRequest(): RequestMeta | undefined;
|
|
38
|
+
export {};
|