From bd25a3f33e8f243febe4023172194a9ebeaaef6a Mon Sep 17 00:00:00 2001 From: Matthieu Pinte Date: Thu, 12 Jun 2025 11:06:32 +0200 Subject: [PATCH] Patch HTTPProxy mixin to use extra_headers - related to issue #556 --- lib/auth0/mixins/httpproxy.rb | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/auth0/mixins/httpproxy.rb b/lib/auth0/mixins/httpproxy.rb index f4446c47..caeb772d 100644 --- a/lib/auth0/mixins/httpproxy.rb +++ b/lib/auth0/mixins/httpproxy.rb @@ -72,12 +72,11 @@ def request_with_retry(method, uri, body = {}, extra_headers = {}) end def request(method, uri, body = {}, extra_headers = {}) + @headers = (@headers || {}).merge(extra_headers) result = if method == :get - @headers ||= {} - get_headers = @headers.merge({params: body}).merge(extra_headers) + get_headers = @headers.merge({params: body}) call(:get, encode_uri(uri), timeout, get_headers) elsif method == :delete - @headers ||= {} delete_headers = @headers.merge({ params: body }) call(:delete, encode_uri(uri), timeout, delete_headers) elsif method == :delete_with_body @@ -85,11 +84,11 @@ def request(method, uri, body = {}, extra_headers = {}) elsif method == :post_file body.merge!(multipart: true) # Ignore the default Content-Type headers and let the HTTP client define them - post_file_headers = headers.except('Content-Type') if headers != nil + post_file_headers = headers.except('Content-Type') # Actual call with the altered headers call(:post, encode_uri(uri), timeout, post_file_headers, body) elsif method == :post_form - form_post_headers = headers.except('Content-Type') if headers != nil + form_post_headers = headers.except('Content-Type') call(:post, encode_uri(uri), timeout, form_post_headers, body.compact) else call(method, encode_uri(uri), timeout, headers, body.to_json)