diff --git a/lib/falcon/middleware/proxy.rb b/lib/falcon/middleware/proxy.rb index 88bff21..c451e7c 100644 --- a/lib/falcon/middleware/proxy.rb +++ b/lib/falcon/middleware/proxy.rb @@ -43,6 +43,7 @@ class Proxy < Protocol::HTTP::Middleware "keep-alive", "public", "proxy-authenticate", + "proxy-authorization", "transfer-encoding", "upgrade", ] diff --git a/test/falcon/middleware/proxy.rb b/test/falcon/middleware/proxy.rb index 6c33cf0..b2eab39 100644 --- a/test/falcon/middleware/proxy.rb +++ b/test/falcon/middleware/proxy.rb @@ -26,6 +26,16 @@ def proxy_for(**options) let(:headers) {Protocol::HTTP::Headers["accept" => "*/*"]} + it "removes proxy authorization by default" do + headers = Protocol::HTTP::Headers[ + "authorization" => "Bearer application", + "proxy-authorization" => "Basic proxy", + ] + proxy.prepare_headers(headers) + expect(headers["authorization"]).to be == "Bearer application" + expect(headers["proxy-authorization"]).to be_nil + end + it "can select client based on authority" do request = Protocol::HTTP::Request.new("https", "www.google.com", "GET", "/", nil, headers, nil)