@jaypie/express 1.2.4-rc3 → 1.2.4-rc4

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.
@@ -30,9 +30,24 @@ export declare class LambdaResponseBuffered extends Writable {
30
30
  get headers(): Record<string, string | string[] | undefined>;
31
31
  writeHead(statusCode: number, statusMessageOrHeaders?: OutgoingHttpHeaders | string, headers?: OutgoingHttpHeaders): this;
32
32
  get headersSent(): boolean;
33
+ /**
34
+ * Express-style alias for getHeader().
35
+ * Used by middleware like decorateResponse that use res.get().
36
+ */
37
+ get(name: string): number | string | string[] | undefined;
38
+ /**
39
+ * Express-style alias for setHeader().
40
+ * Used by middleware like decorateResponse that use res.set().
41
+ */
42
+ set(name: string, value: number | string | string[]): this;
33
43
  status(code: number): this;
34
44
  json(data: unknown): this;
35
45
  send(body?: Buffer | object | string): this;
46
+ /**
47
+ * Add a field to the Vary response header.
48
+ * Used by CORS middleware to indicate response varies by Origin.
49
+ */
50
+ vary(field: string): this;
36
51
  _write(chunk: Buffer | string, encoding: BufferEncoding, // eslint-disable-line no-undef
37
52
  callback: (error?: Error | null) => void): void;
38
53
  _final(callback: (error?: Error | null) => void): void;
@@ -31,9 +31,24 @@ export declare class LambdaResponseStreaming extends Writable {
31
31
  writeHead(statusCode: number, statusMessageOrHeaders?: OutgoingHttpHeaders | string, headers?: OutgoingHttpHeaders): this;
32
32
  get headersSent(): boolean;
33
33
  flushHeaders(): void;
34
+ /**
35
+ * Express-style alias for getHeader().
36
+ * Used by middleware like decorateResponse that use res.get().
37
+ */
38
+ get(name: string): number | string | string[] | undefined;
39
+ /**
40
+ * Express-style alias for setHeader().
41
+ * Used by middleware like decorateResponse that use res.set().
42
+ */
43
+ set(name: string, value: number | string | string[]): this;
34
44
  status(code: number): this;
35
45
  json(data: unknown): this;
36
46
  send(body?: Buffer | object | string): this;
47
+ /**
48
+ * Add a field to the Vary response header.
49
+ * Used by CORS middleware to indicate response varies by Origin.
50
+ */
51
+ vary(field: string): this;
37
52
  _write(chunk: Buffer | string, encoding: BufferEncoding, // eslint-disable-line no-undef
38
53
  callback: (error?: Error | null) => void): void;
39
54
  _final(callback: (error?: Error | null) => void): void;
@@ -299,6 +299,20 @@ class LambdaResponseBuffered extends node_stream.Writable {
299
299
  //
300
300
  // Express compatibility methods
301
301
  //
302
+ /**
303
+ * Express-style alias for getHeader().
304
+ * Used by middleware like decorateResponse that use res.get().
305
+ */
306
+ get(name) {
307
+ return this.getHeader(name);
308
+ }
309
+ /**
310
+ * Express-style alias for setHeader().
311
+ * Used by middleware like decorateResponse that use res.set().
312
+ */
313
+ set(name, value) {
314
+ return this.setHeader(name, value);
315
+ }
302
316
  status(code) {
303
317
  this.statusCode = code;
304
318
  return this;
@@ -315,6 +329,26 @@ class LambdaResponseBuffered extends node_stream.Writable {
315
329
  this.end(body);
316
330
  return this;
317
331
  }
332
+ /**
333
+ * Add a field to the Vary response header.
334
+ * Used by CORS middleware to indicate response varies by Origin.
335
+ */
336
+ vary(field) {
337
+ const existing = this.getHeader("vary");
338
+ if (!existing) {
339
+ this.setHeader("vary", field);
340
+ }
341
+ else {
342
+ // Append to existing Vary header if field not already present
343
+ const fields = String(existing)
344
+ .split(",")
345
+ .map((f) => f.trim().toLowerCase());
346
+ if (!fields.includes(field.toLowerCase())) {
347
+ this.setHeader("vary", `${existing}, ${field}`);
348
+ }
349
+ }
350
+ return this;
351
+ }
318
352
  //
319
353
  // Writable stream implementation
320
354
  //
@@ -519,6 +553,20 @@ class LambdaResponseStreaming extends node_stream.Writable {
519
553
  //
520
554
  // Express compatibility methods
521
555
  //
556
+ /**
557
+ * Express-style alias for getHeader().
558
+ * Used by middleware like decorateResponse that use res.get().
559
+ */
560
+ get(name) {
561
+ return this.getHeader(name);
562
+ }
563
+ /**
564
+ * Express-style alias for setHeader().
565
+ * Used by middleware like decorateResponse that use res.set().
566
+ */
567
+ set(name, value) {
568
+ return this.setHeader(name, value);
569
+ }
522
570
  status(code) {
523
571
  this.statusCode = code;
524
572
  return this;
@@ -535,6 +583,26 @@ class LambdaResponseStreaming extends node_stream.Writable {
535
583
  this.end(body);
536
584
  return this;
537
585
  }
586
+ /**
587
+ * Add a field to the Vary response header.
588
+ * Used by CORS middleware to indicate response varies by Origin.
589
+ */
590
+ vary(field) {
591
+ const existing = this.getHeader("vary");
592
+ if (!existing) {
593
+ this.setHeader("vary", field);
594
+ }
595
+ else {
596
+ // Append to existing Vary header if field not already present
597
+ const fields = String(existing)
598
+ .split(",")
599
+ .map((f) => f.trim().toLowerCase());
600
+ if (!fields.includes(field.toLowerCase())) {
601
+ this.setHeader("vary", `${existing}, ${field}`);
602
+ }
603
+ }
604
+ return this;
605
+ }
538
606
  //
539
607
  // Writable stream implementation
540
608
  //