Class: Fakturan::Response::ParseJSON
- Inherits:
-
Faraday::Response::Middleware
- Object
- Faraday::Response::Middleware
- Fakturan::Response::ParseJSON
- Defined in:
- lib/fakturan_nu/middleware/parse_json.rb
Instance Method Summary collapse
Instance Method Details
#on_complete(env) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/fakturan_nu/middleware/parse_json.rb', line 15 def on_complete(env) begin # https://github.com/lostisland/faraday/blob/master/lib/faraday/response.rb if env.parse_body? # If we get a result env.body = parse(env.body) else # If we get 204 = request fine, but no content returned env.body = { data: {}, metadata: {}, errors: {} } end rescue MultiJson::ParseError => exception raise Fakturan::Error::ParseError, {:status => env.status, :headers => env.response_headers, :body => env.body} end end |
#parse(body) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/fakturan_nu/middleware/parse_json.rb', line 4 def parse(body) json = MultiJson.load(body, symbolize_keys: true) res = { data: json[:data], metadata: json[:paging], errors: json[:errors] } return res end |