Class: Julewire::Rack::Capture::RequestBody

Inherits:
Object
  • Object
show all
Defined in:
lib/julewire/rack/capture/request_body.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request, content_types:, limit:, mode:) ⇒ RequestBody

Returns a new instance of RequestBody.



11
12
13
14
15
16
# File 'lib/julewire/rack/capture/request_body.rb', line 11

def initialize(request, content_types:, limit:, mode:)
  @request = request
  @content_types = content_types
  @limit = limit
  @mode = mode
end

Class Method Details

.call(request) ⇒ Object



8
# File 'lib/julewire/rack/capture/request_body.rb', line 8

def call(request, **) = new(request, **).summary_fields

Instance Method Details

#summary_fieldsObject



18
19
20
21
22
23
24
25
# File 'lib/julewire/rack/capture/request_body.rb', line 18

def summary_fields
  return {} unless BodyContentType.allowed?(@request, selector: @content_types)

  captured, bytes, truncated = capture_body
  return {} if captured.nil? || (captured.empty? && !truncated)

  JsonBody.fields(:request, captured, bytes: bytes, truncated: truncated, mode: @mode)
end