]> git.kaiwu.me - njs.git/commitdiff
Types: added forgotten r.rawHeadersIn and r.rawHeadersOut description.
authorDmitry Volyntsev <xeioex@nginx.com>
Fri, 10 Feb 2023 02:34:51 +0000 (18:34 -0800)
committerDmitry Volyntsev <xeioex@nginx.com>
Fri, 10 Feb 2023 02:34:51 +0000 (18:34 -0800)
test/ts/test.ts
ts/ngx_http_js_module.d.ts
ts/njs_core.d.ts

index ddbb495efa44eb0acac257976036551501c00672..b7464163af40f98f98c54879c5b3c3d10727c2f9 100644 (file)
@@ -45,6 +45,8 @@ async function http_module(r: NginxHTTPRequest) {
     r.headersOut['Set-Cookie'] = ['aaa', 'bbb'];
     r.headersOut['Foo'] = ['aaa', 'bbb'];
 
+    let values: Array<string> = r.rawHeadersIn.filter(v=>v[0].toLowerCase() == 'foo').map(v=>v[1]);
+
     // r.log
 
     r.log(bs);
index 7afd1308d28c57257bc2fa7a8d8ccc840af0e38f..811d2cb5a59c5cbf8971c9afb31bc862a67ef8ce 100644 (file)
@@ -338,6 +338,17 @@ interface NginxHTTPRequest {
      * Parent for subrequest object.
      */
     readonly parent?: NginxHTTPRequest;
+    /**
+     * An array of key-value pairs exactly as they were received from the client.
+     * @since 0.4.1
+     */
+    readonly rawHeadersIn: [NjsFixedSizeArray<2, NjsStringLike>];
+    /**
+     * An array of key-value pairs of response headers.
+     * Header field names are not converted to lower case, duplicate field values are not merged.
+     * @since 0.4.1
+     */
+    readonly rawHeadersOut: [NjsFixedSizeArray<2, NjsStringLike>];
     /**
      * Client address.
      */
index 5f8dbc688f6b35e31c26dff213dd878775aa0db2..22af1e92e094a1564b4b37f70bc3adcaf5493f13 100644 (file)
@@ -1,5 +1,11 @@
 type BufferEncoding = "utf8" | "hex" | "base64" | "base64url";
 
+type NjsFixedSizeArray<N extends number, T> = N extends 0 ? never[] : {
+    0: T;
+    length: N;
+} & ReadonlyArray<T>;
+
+
 interface StringConstructor {
     /**
      * Creates a byte string from an encoded string.