class ApiSim::RecordedRequest

Attributes

body[R]
headers[R]
path[R]
query[R]
time[R]

Public Class Methods

new(time: Time.now, body:, request_env:, request_path:, query_string: ) click to toggle source
# File lib/api_sim/recorded_request.rb, line 5
def initialize(time: Time.now, body:, request_env:, request_path:, query_string: )
  @time = time
  @body = body
  @headers = parse_headers_from(request_env)
  @path = request_path
  @query = query_string
end

Public Instance Methods

to_json(options = {}) click to toggle source
# File lib/api_sim/recorded_request.rb, line 13
def to_json(options = {})
  {
    body: @body,
    headers: @headers,
    path: @path,
    time: @time,
    query: @query
  }.to_json
end

Private Instance Methods

parse_headers_from(request_env) click to toggle source
# File lib/api_sim/recorded_request.rb, line 24
def parse_headers_from(request_env)
  request_env.select do |k, v|
    k =~ /^HTTP_/ || k =~ /CONTENT_TYPE/
  end.each_with_object({}) do |(k, v), h|
    h[k.gsub(/HTTP\_/, '').split('_').join('-').downcase] = v
  end
end