module Watchdocs::Rails::Helpers::BodyHelper

Public Instance Methods

body_string(body) click to toggle source
# File lib/watchdocs/rails/helpers/body_helper.rb, line 5
def body_string(body)
  body_string = ''
  body.each { |line| body_string += line } if body
  body_string
end
log_and_return_empty(error) click to toggle source
# File lib/watchdocs/rails/helpers/body_helper.rb, line 31
def log_and_return_empty(error)
  $stderr.puts "Watchdocs Middleware Error: #{error}"
  {}
end
parse_request_body(body) click to toggle source
# File lib/watchdocs/rails/helpers/body_helper.rb, line 20
def parse_request_body(body)
  return if body.empty?
  filter_data(JSON.parse(body))
rescue JSON::ParserError
  begin
    filter_data(Rack::Utils.parse_nested_query(body))
  rescue StandardError
    log_and_return_empty "Request body format not supported. Body: #{body}"
  end
end
parse_response_body(body) click to toggle source
# File lib/watchdocs/rails/helpers/body_helper.rb, line 11
def parse_response_body(body)
  return if body.empty?
  filter_data(JSON.parse(body))
rescue JSON::ParserError => e
  log_and_return_empty "Invalid JSON data: #{e.message}, Body: #{body}"
rescue StandardError
  log_and_return_empty "Response body format not supported. Body: #{body}"
end