@jaypie/express 1.2.4-rc2 → 1.2.4-rc21

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.
@@ -11,11 +11,16 @@ export declare class LambdaResponseBuffered extends Writable {
11
11
  readonly socket: {
12
12
  remoteAddress: string;
13
13
  };
14
- private _chunks;
15
- private _headers;
16
- private _headersSent;
17
- private _resolve;
14
+ _chunks: Buffer[];
15
+ _ended: boolean;
16
+ _headers: Map<string, string | string[]>;
17
+ _headersSent: boolean;
18
+ _resolve: ((result: LambdaResponse) => void) | null;
18
19
  constructor();
20
+ _internalGetHeader(name: string): string | undefined;
21
+ _internalSetHeader(name: string, value: string): void;
22
+ _internalHasHeader(name: string): boolean;
23
+ _internalRemoveHeader(name: string): void;
19
24
  getResult(): Promise<LambdaResponse>;
20
25
  setHeader(name: string, value: number | string | string[]): this;
21
26
  getHeader(name: string): number | string | string[] | undefined;
@@ -23,15 +28,39 @@ export declare class LambdaResponseBuffered extends Writable {
23
28
  getHeaders(): OutgoingHttpHeaders;
24
29
  hasHeader(name: string): boolean;
25
30
  getHeaderNames(): string[];
31
+ /**
32
+ * Proxy for direct header access (e.g., res.headers['content-type']).
33
+ * Required for compatibility with middleware like helmet that access headers directly.
34
+ * Uses direct _headers access to bypass dd-trace interception.
35
+ */
36
+ get headers(): Record<string, string | string[] | undefined>;
26
37
  writeHead(statusCode: number, statusMessageOrHeaders?: OutgoingHttpHeaders | string, headers?: OutgoingHttpHeaders): this;
27
38
  get headersSent(): boolean;
39
+ /**
40
+ * Express-style alias for getHeader().
41
+ * Used by middleware like decorateResponse that use res.get().
42
+ * Note: Directly accesses _headers to avoid prototype chain issues with bundled code.
43
+ */
44
+ get(name: string): number | string | string[] | undefined;
45
+ /**
46
+ * Express-style alias for setHeader().
47
+ * Used by middleware like decorateResponse that use res.set().
48
+ * Note: Directly accesses _headers to avoid prototype chain issues with bundled code.
49
+ */
50
+ set(name: string, value: number | string | string[]): this;
28
51
  status(code: number): this;
29
52
  json(data: unknown): this;
30
53
  send(body?: Buffer | object | string): this;
54
+ /**
55
+ * Add a field to the Vary response header.
56
+ * Used by CORS middleware to indicate response varies by Origin.
57
+ * Uses direct _headers access to bypass dd-trace interception.
58
+ */
59
+ vary(field: string): this;
31
60
  _write(chunk: Buffer | string, encoding: BufferEncoding, // eslint-disable-line no-undef
32
61
  callback: (error?: Error | null) => void): void;
33
62
  _final(callback: (error?: Error | null) => void): void;
34
- private buildResult;
63
+ buildResult(): LambdaResponse;
35
64
  private isBinaryContentType;
36
65
  }
37
66
  export default LambdaResponseBuffered;
@@ -11,24 +11,52 @@ export declare class LambdaResponseStreaming extends Writable {
11
11
  readonly socket: {
12
12
  remoteAddress: string;
13
13
  };
14
- private _headers;
15
- private _headersSent;
14
+ _headers: Map<string, string | string[]>;
15
+ _headersSent: boolean;
16
16
  private _pendingWrites;
17
17
  private _responseStream;
18
18
  private _wrappedStream;
19
19
  constructor(responseStream: ResponseStream);
20
+ _internalGetHeader(name: string): string | undefined;
21
+ _internalSetHeader(name: string, value: string): void;
22
+ _internalHasHeader(name: string): boolean;
23
+ _internalRemoveHeader(name: string): void;
20
24
  setHeader(name: string, value: number | string | string[]): this;
21
25
  getHeader(name: string): number | string | string[] | undefined;
22
26
  removeHeader(name: string): void;
23
27
  getHeaders(): OutgoingHttpHeaders;
24
28
  hasHeader(name: string): boolean;
25
29
  getHeaderNames(): string[];
30
+ /**
31
+ * Proxy for direct header access (e.g., res.headers['content-type']).
32
+ * Required for compatibility with middleware like helmet that access headers directly.
33
+ * Uses direct _headers access to bypass dd-trace interception.
34
+ */
35
+ get headers(): Record<string, string | string[] | undefined>;
26
36
  writeHead(statusCode: number, statusMessageOrHeaders?: OutgoingHttpHeaders | string, headers?: OutgoingHttpHeaders): this;
27
37
  get headersSent(): boolean;
28
38
  flushHeaders(): void;
39
+ /**
40
+ * Express-style alias for getHeader().
41
+ * Used by middleware like decorateResponse that use res.get().
42
+ * Note: Directly accesses _headers to avoid prototype chain issues with bundled code.
43
+ */
44
+ get(name: string): number | string | string[] | undefined;
45
+ /**
46
+ * Express-style alias for setHeader().
47
+ * Used by middleware like decorateResponse that use res.set().
48
+ * Note: Directly accesses _headers to avoid prototype chain issues with bundled code.
49
+ */
50
+ set(name: string, value: number | string | string[]): this;
29
51
  status(code: number): this;
30
52
  json(data: unknown): this;
31
53
  send(body?: Buffer | object | string): this;
54
+ /**
55
+ * Add a field to the Vary response header.
56
+ * Used by CORS middleware to indicate response varies by Origin.
57
+ * Uses direct _headers access to bypass dd-trace interception.
58
+ */
59
+ vary(field: string): this;
32
60
  _write(chunk: Buffer | string, encoding: BufferEncoding, // eslint-disable-line no-undef
33
61
  callback: (error?: Error | null) => void): void;
34
62
  _final(callback: (error?: Error | null) => void): void;
@@ -0,0 +1 @@
1
+ export {};