class GrapeLogging::Loggers::Response

Public Instance Methods

parameters(_, response) click to toggle source
# File lib/grape_logging/loggers/response.rb, line 4
def parameters(_, response)
  response ? { response: serialized_response_body(response) } : {}
end

Private Instance Methods

serialized_response_body(response) click to toggle source

In some cases, response.body is not parseable by JSON. For example, if you POST on a PUT endpoint, response.body is egal to “”“”. It's strange but it's the Grape behavior…

# File lib/grape_logging/loggers/response.rb, line 13
def serialized_response_body(response)

  if response.respond_to?(:body)
    # Rack responses
    begin
      response.body.map{ |body| JSON.parse(body.to_s) }
    rescue # No reason to have "=> e" here when we don't use it..
      response.body
    end
  else
    # Error & Exception responses
    response
  end
end