@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;
package/dist/esm/index.js CHANGED
@@ -297,6 +297,20 @@ class LambdaResponseBuffered extends Writable {
297
297
  //
298
298
  // Express compatibility methods
299
299
  //
300
+ /**
301
+ * Express-style alias for getHeader().
302
+ * Used by middleware like decorateResponse that use res.get().
303
+ */
304
+ get(name) {
305
+ return this.getHeader(name);
306
+ }
307
+ /**
308
+ * Express-style alias for setHeader().
309
+ * Used by middleware like decorateResponse that use res.set().
310
+ */
311
+ set(name, value) {
312
+ return this.setHeader(name, value);
313
+ }
300
314
  status(code) {
301
315
  this.statusCode = code;
302
316
  return this;
@@ -313,6 +327,26 @@ class LambdaResponseBuffered extends Writable {
313
327
  this.end(body);
314
328
  return this;
315
329
  }
330
+ /**
331
+ * Add a field to the Vary response header.
332
+ * Used by CORS middleware to indicate response varies by Origin.
333
+ */
334
+ vary(field) {
335
+ const existing = this.getHeader("vary");
336
+ if (!existing) {
337
+ this.setHeader("vary", field);
338
+ }
339
+ else {
340
+ // Append to existing Vary header if field not already present
341
+ const fields = String(existing)
342
+ .split(",")
343
+ .map((f) => f.trim().toLowerCase());
344
+ if (!fields.includes(field.toLowerCase())) {
345
+ this.setHeader("vary", `${existing}, ${field}`);
346
+ }
347
+ }
348
+ return this;
349
+ }
316
350
  //
317
351
  // Writable stream implementation
318
352
  //
@@ -517,6 +551,20 @@ class LambdaResponseStreaming extends Writable {
517
551
  //
518
552
  // Express compatibility methods
519
553
  //
554
+ /**
555
+ * Express-style alias for getHeader().
556
+ * Used by middleware like decorateResponse that use res.get().
557
+ */
558
+ get(name) {
559
+ return this.getHeader(name);
560
+ }
561
+ /**
562
+ * Express-style alias for setHeader().
563
+ * Used by middleware like decorateResponse that use res.set().
564
+ */
565
+ set(name, value) {
566
+ return this.setHeader(name, value);
567
+ }
520
568
  status(code) {
521
569
  this.statusCode = code;
522
570
  return this;
@@ -533,6 +581,26 @@ class LambdaResponseStreaming extends Writable {
533
581
  this.end(body);
534
582
  return this;
535
583
  }
584
+ /**
585
+ * Add a field to the Vary response header.
586
+ * Used by CORS middleware to indicate response varies by Origin.
587
+ */
588
+ vary(field) {
589
+ const existing = this.getHeader("vary");
590
+ if (!existing) {
591
+ this.setHeader("vary", field);
592
+ }
593
+ else {
594
+ // Append to existing Vary header if field not already present
595
+ const fields = String(existing)
596
+ .split(",")
597
+ .map((f) => f.trim().toLowerCase());
598
+ if (!fields.includes(field.toLowerCase())) {
599
+ this.setHeader("vary", `${existing}, ${field}`);
600
+ }
601
+ }
602
+ return this;
603
+ }
536
604
  //
537
605
  // Writable stream implementation
538
606
  //