Class: CMIS::Connection::ResponseParser
- Inherits:
-
Faraday::Middleware
- Object
- Faraday::Middleware
- CMIS::Connection::ResponseParser
- Defined in:
- lib/cmis/connection/response_parser.rb
Constant Summary collapse
- JSON_CONTENT_TYPE =
/\/(x-)?json(;.+?)?$/i.freeze
Instance Method Summary collapse
Instance Method Details
#call(env) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/cmis/connection/response_parser.rb', line 9 def call(env) response = @app.call(env) response.on_complete do |env| # Remove Authorization header when following redirects # This hack should be removed when issue #81 is merged # Cf. https://github.com/lostisland/faraday_middleware/pull/81 if [301, 302, 303, 307].include?(response.status) env[:request_headers].delete('Authorization') end case env[:status] when 401 raise Exceptions:: else if env[:response_headers][:content_type] =~ JSON_CONTENT_TYPE parse_body(env) check_for_cmis_exception!(env[:body]) end end end end |