class Mocapi::ShowRequest
Public Class Methods
new(app = nil)
click to toggle source
# File lib/mocapi.rb, line 49 def initialize(app = nil) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/mocapi.rb, line 53 def call(env) request = Rack::Request.new(env) response = if @app @app.call(env) else Rack::Response.new(env) end show_request_detail request show_response_detail response response end
show(str)
click to toggle source
# File lib/mocapi.rb, line 101 def show(str) STDOUT.puts str end
show_request_detail(request)
click to toggle source
# File lib/mocapi.rb, line 67 def show_request_detail(request) show <<-EOS Request URI : #{request.fullpath} HTTP Method : #{request.request_method} Path : #{request.path} Content Type : #{request.content_type} Query : #{request.query_string} Request Body : #{request.body.read} EOS request.body.rewind end
show_response_detail(response)
click to toggle source
# File lib/mocapi.rb, line 82 def show_response_detail(response) status_code, headers, body = *response max_length = (headers.keys + ['Response Body']).map(&:length).max show <<-EOS #{'Status Code'.ljust(max_length)} : #{status_code} EOS headers.each do |key, value| show " #{key.ljust(max_length)} : #{value}" end show <<-EOS #{'Response Body'.ljust(max_length)} : #{body.join('\n')} EOS end