Class: Common::Client::Middleware::Response::SOAPParser

Inherits:
Faraday::Response::Middleware
  • Object
show all
Defined in:
lib/common/client/middleware/response/soap_parser.rb

Direct Known Subclasses

HCA::SOAPParser

Instance Method Summary collapse

Instance Method Details

#on_complete(env) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/common/client/middleware/response/soap_parser.rb', line 8

def on_complete(env)
  case env.status
  when 200
    doc = parse_doc(env.body)
    if doc_includes_error?(doc)
      log_error_details(env)
      raise Common::Client::Errors::HTTPError.new('SOAP service returned internal server error', 500)
    end
    env.body = doc
  else
    log_error_details(env)
    raise Common::Client::Errors::HTTPError.new('SOAP HTTP call failed', env.status)
  end
end