Sha256: f156bd570d46226f3124a751e27b09724eb97bdef8d262e25bd099f2fda38b87
Contents?: true
Size: 1.12 KB
Versions: 3
Compression:
Stored size: 1.12 KB
Contents
require 'multi_json' module Esplanade class Request class Raw class Body def initialize(raw_request, env) @raw_request = raw_request @env = env end def to_string return @string if @string @string = @env['rack.input'].read @env['rack.input'].rewind @string end def to_hash @hash ||= MultiJson.load(to_string) rescue MultiJson::ParseError raise BodyIsNotJson.new(**message) end def reduced_version @reduced_version ||= if to_string && to_string.size >= 1000 "#{to_string[0..499]}...#{to_string[500..-1]}" else to_string end end private def message { method: @raw_request.method, path: @raw_request.path, raw_path: @raw_request.raw_path, content_type: @raw_request.content_type, body: reduced_version } end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
esplanade-1.7.1 | lib/esplanade/request/raw/body.rb |
esplanade-1.7.0 | lib/esplanade/request/raw/body.rb |
esplanade-1.6.0 | lib/esplanade/request/raw/body.rb |