Sha256: a1a4f9b2eddb63d11871c8712af67a2e60b38b9cee8f71de5e679e723b99b618
Contents?: true
Size: 1022 Bytes
Versions: 15
Compression:
Stored size: 1022 Bytes
Contents
module GrapeApeRails module Handlers class RailsLogging def initialize(app) @app = app end def call(env) api_version = env['rack.routing_args'][:route_info].route_version rescue nil payload = { remote_addr: env['REMOTE_ADDR'], request_method: env['REQUEST_METHOD'], request_path: env['PATH_INFO'], request_query: env['QUERY_STRING'], api_version: api_version } req = Rack::Request.new(env) payload[:params] = req.params ActiveSupport::Notifications.instrument "grape.request", payload do @app.call(env).tap do |response| status, headers, body = *response payload[:params].merge!(env["api.endpoint"].params.to_hash) payload[:params].delete("route_info") payload[:params].delete("format") payload[:response_status] = status end end rescue @app.call(env) end end end end
Version data entries
15 entries across 15 versions & 1 rubygems