File tree Expand file tree Collapse file tree 2 files changed +30
-0
lines changed
Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -80,6 +80,12 @@ def configure_logging
8080 connection . response ( :logger , @globals [ :logger ] , headers : @globals [ :log_headers ] ) if @globals [ :log ]
8181 end
8282
83+ def configure_gzip
84+ if connection . headers [ 'Accept-Encoding' ] && connection . headers [ 'Accept-Encoding' ] . include? ( 'gzip' )
85+ connection . request :gzip
86+ end
87+ end
88+
8389 protected
8490 attr_reader :connection
8591 end
@@ -94,6 +100,7 @@ def build
94100 configure_adapter
95101 configure_logging
96102 configure_headers
103+ configure_gzip
97104 connection
98105 end
99106
@@ -121,6 +128,7 @@ def build(options = {})
121128 configure_adapter
122129 configure_logging
123130 configure_redirect_handling
131+ configure_gzip
124132 yield ( connection ) if block_given?
125133 connection
126134 end
Original file line number Diff line number Diff line change @@ -274,6 +274,28 @@ def new_soap_request
274274 end
275275 end
276276
277+ describe "gzip" do
278+ it "is set when Accept-Encoding with gzip is specified" do
279+ globals . headers ( "Accept-Encoding" => "gzip,deflate" )
280+ http_connection . expects ( :request ) . with ( :gzip )
281+
282+ new_soap_request . build
283+ end
284+
285+ it "is not set when Acccept-Encoding does not include gzip" do
286+ globals . headers ( "Accept-Encoding" => "deflate" )
287+ http_connection . expects ( :request ) . with ( :gzip ) . never
288+
289+ new_soap_request . build
290+ end
291+
292+ it "is not set otherwise" do
293+ http_connection . expects ( :request ) . with ( :gzip ) . never
294+
295+ new_soap_request . build
296+ end
297+ end
298+
277299 describe "SOAPAction header" do
278300 it "is set and wrapped in parenthesis" do
279301 configured_http_request = new_soap_request . build ( :soap_action => "findUser" )
You can’t perform that action at this time.
0 commit comments