#coding=utf-8


module Mobile
  module Middleware
    class ErrorHandler < Grape::Middleware::Base
      def call!(env)
        @env = env
        begin
          @app.call(@env)
        rescue =>e
          code = 1

          message = {status: code, message: e.message }.to_json
          
          Rails.logger.error e.inspect
          Rails.logger.error e.backtrace.join("\n")
          status = 200
          headers = { 'Content-Type' => content_type }
          Rack::Response.new([message], status, headers).finish
          # throw :error, :message => e.message || options[:default_message], :status => 500
        end
      end
    end
  end
end
