From 0861a469ae84d92e9c69ddffe48a056202daf617 Mon Sep 17 00:00:00 2001 From: Gabriel Horbach Date: Wed, 5 Nov 2025 18:07:28 -0300 Subject: [PATCH 1/4] make request a private property to avoid circular reference --- index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.js b/index.js index 548a63e..0f52a97 100644 --- a/index.js +++ b/index.js @@ -423,7 +423,7 @@ class Rule { class RequestActions { constructor(request) { - this.request = request; + this._request = request; } // we do theses as a getters, because the function is accessed through destructuring and called without its // context/this From ba488a510b262edc84c21a2a6257c5489d0f983e Mon Sep 17 00:00:00 2001 From: Gabriel Horbach Date: Wed, 5 Nov 2025 18:09:45 -0300 Subject: [PATCH 2/4] expose setRequestHeader() and request() methods --- index.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/index.js b/index.js index 0f52a97..d2ea109 100644 --- a/index.js +++ b/index.js @@ -439,6 +439,17 @@ class RequestActions { } }; } + get setRequestHeader() { + let actions = this; + return (name, value) => { + // Store request header modifications + if (!actions.request_headers) actions.request_headers = {}; + actions.request_headers[name.toLowerCase()] = value; + }; + } + get request() { + return this._request; + } get cache() { let actions = this; return (options) => { From 0a02e3998ef3d89998e9dd7c5afd286bc2163b9f Mon Sep 17 00:00:00 2001 From: Gabriel Horbach Date: Wed, 5 Nov 2025 18:19:30 -0300 Subject: [PATCH 3/4] pass updated headers to the request when proxying --- index.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/index.js b/index.js index d2ea109..8de7353 100644 --- a/index.js +++ b/index.js @@ -244,6 +244,11 @@ class Router { const headers = request.headers.asObject; delete headers.host; delete headers.Host; + + if (actions.request_headers) { + Object.assign(headers, actions.request_headers) + } + if (originConfig.hostHeader) headers.Host = originConfig.hostHeader; const requestOptions = { timeout: 60000, From 9405c45f442b2f1bdfcceb3172c82f0dfd20af8f Mon Sep 17 00:00:00 2001 From: Gabriel Horbach Date: Wed, 5 Nov 2025 18:25:40 -0300 Subject: [PATCH 4/4] fix indentation --- index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 8de7353..768ba93 100644 --- a/index.js +++ b/index.js @@ -447,9 +447,9 @@ class RequestActions { get setRequestHeader() { let actions = this; return (name, value) => { - // Store request header modifications - if (!actions.request_headers) actions.request_headers = {}; - actions.request_headers[name.toLowerCase()] = value; + // Store request header modifications + if (!actions.request_headers) actions.request_headers = {}; + actions.request_headers[name.toLowerCase()] = value; }; } get request() {