class Faraday::ClientErrorHandling::Parser

Public Instance Methods

on_complete(env) click to toggle source
# File lib/faraday/client_error_handling/parser.rb, line 6
def on_complete(env)
  if env[:body].size == 0
    env[:body] = {
      data: {},
      errors: {},
      metadata: {}
    }
  else
    json = MultiJson.load(env[:body], symbolize_keys: true)

    errors = json.delete(:errors) || {}

    if !errors.empty?
      PhrLogging.logger.warn "SERVICE ERRORS: #{errors}"
    end

    metadata = json.delete(:metadata) || {}
    env[:body] = {
      data: json,
      errors: errors,
      metadata: metadata
    }
  end
end