class Rack::Logjam::Grape::Middleware
Public Instance Methods
after()
click to toggle source
# File lib/rack/logjam/grape/middleware.rb, line 15 def after return unless api_request?( env ) status = @app_response.first headers = @app_response[1] body = @app_response.last.body.last #logger.log_response( env, status, headers, response ) logger.log_response( env, status, headers, body ) @app_response end
before()
click to toggle source
# File lib/rack/logjam/grape/middleware.rb, line 9 def before return unless api_request?( env ) logger.log_request( env ) end
Protected Instance Methods
api_request?( env )
click to toggle source
# File lib/rack/logjam/grape/middleware.rb, line 30 def api_request?( env ) true #path_info( env ) =~ /^\/api\// end
content_type()
click to toggle source
# File lib/rack/logjam/grape/middleware.rb, line 66 def content_type env['CONTENT_TYPE'] end
formatted_request_body()
click to toggle source
# File lib/rack/logjam/grape/middleware.rb, line 70 def formatted_request_body body = env['rack.input'].read return ANSI.yellow { 'EMPTY' } if body.blank? if content_type == Mime::JSON.to_s return ANSI.cyan { JSON.pretty_generate( JSON.parse( body )) } end nil end
formatted_response_body()
click to toggle source
# File lib/rack/logjam/grape/middleware.rb, line 81 def formatted_response_body ANSI.cyan { JSON.pretty_generate(JSON.parse( @app_response.last.body.last )) } end
logger()
click to toggle source
# File lib/rack/logjam/grape/middleware.rb, line 39 def logger Rack::Logjam::Logger.new end
path_info( env )
click to toggle source
# File lib/rack/logjam/grape/middleware.rb, line 35 def path_info( env ) env['PATH_INFO'] end
request_log_data()
click to toggle source
# File lib/rack/logjam/grape/middleware.rb, line 43 def request_log_data request_data = { auth_token: env['HTTP_X_NCITE_AUTH_TOKEN'], content_type: content_type, content_length: env['CONTENT_LENGTH'], accept: env['HTTP_ACCEPT'], accept_version: env['HTTP_ACCEPT_VERSION'], method: env['REQUEST_METHOD'], path: env['PATH_INFO'], query: env['QUERY_STRING'] } #request_data[:user_id] = current_user.id if current_user request_data end
response_log_data()
click to toggle source
# File lib/rack/logjam/grape/middleware.rb, line 58 def response_log_data { description: env['api.endpoint'].options[:route_options][:description], source_file: env['api.endpoint'].block.source_location[0][(::Rails.root.to_s.length+1)..-1], source_line: env['api.endpoint'].block.source_location[1] } end