Class: Evil::Client::Operation::Response
- Inherits:
-
Object
- Object
- Evil::Client::Operation::Response
- Extended by:
- Dry::Initializer::Mixin
- Defined in:
- lib/evil/client/operation/response.rb
Overview
Processes rack responses using an operation’s schema
Instance Method Summary collapse
-
#handle(array) ⇒ Object
Processes rack responses returned by [Dry::Cluent::Connection].
Instance Method Details
#handle(array) ⇒ Object
Processes rack responses returned by [Dry::Cluent::Connection]
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/evil/client/operation/response.rb', line 16 def handle(array) status, header, body = array response = Rack::Response.new(body, status, header) handler = response_schema(response) data = handler[:coercer].call response: response, body: response.body, header: response.header handler[:raise] ? fail(ResponseError.new(schema, status, data)) : data end |