Class: Julewire::Rack::Capture::BufferedResponseBody
- Inherits:
-
Object
- Object
- Julewire::Rack::Capture::BufferedResponseBody
- Defined in:
- lib/julewire/rack/capture/buffered_response_body.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(response, content_types:, limit:, mode: Settings::STRING_BODY) ⇒ BufferedResponseBody
constructor
A new instance of BufferedResponseBody.
- #summary_fields ⇒ Object
Constructor Details
#initialize(response, content_types:, limit:, mode: Settings::STRING_BODY) ⇒ BufferedResponseBody
Returns a new instance of BufferedResponseBody.
11 12 13 14 15 16 17 18 19 |
# File 'lib/julewire/rack/capture/buffered_response_body.rb', line 11 def initialize(response, content_types:, limit:, mode: Settings::STRING_BODY) @response = response @content_types = content_types @limit = limit @mode = mode @captured = +"" @total_bytes = 0 @truncated = false end |
Class Method Details
.call(response) ⇒ Object
8 |
# File 'lib/julewire/rack/capture/buffered_response_body.rb', line 8 def call(response, **) = new(response, **).summary_fields |
Instance Method Details
#summary_fields ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/julewire/rack/capture/buffered_response_body.rb', line 21 def summary_fields return {} unless BodyContentType.allowed?(@response, selector: @content_types) body_parts = response_body_parts return {} unless body_parts if @limit.nil? fields = unlimited_single_part_fields(body_parts) return fields if fields end capture(body_parts) return {} if @total_bytes.zero? && @captured.empty? JsonBody.fields(:response, @captured, bytes: @total_bytes, truncated: @truncated, mode: @mode) end |