class Statwing::Parser

Public Instance Methods

on_complete(env) click to toggle source
# File lib/statwing/middleware/parser.rb, line 3
def on_complete(env)
  json = JSON.parse(env[:body], :symbolize_names => true)
  error = json.delete(:error) || {}

  # Raise error when request returns an error
  if error.present?
     fail "#{error[:type].classify}: #{error[:message]}"
  end

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