Module: CloseYourIt::Rails::RequestBody

Defined in:
lib/closeyourit/rails/request_body.rb

Overview

Estrae i params del body della richiesta (request.data) al momento dell'EVENTO — mai eagerly a ogni richiesta (zero overhead sul percorso felice). Preferisce i params già parsati da Rails/Rack presenti in env; ripiega sulla rilettura di rack.input (con rewind) solo per JSON/form ≤ MAX_BODY_BYTES. Output sanitizzato (upload → "[FILE: …]", oggetti → "[OBJECT: …]", stringhe troncate) e scrubbato con la stessa denylist del resto del client.

Constant Summary collapse

MAX_BODY_BYTES =
65_536
MAX_DEPTH =
8
MAX_STRING =
1024
FORM_TYPE =
"application/x-www-form-urlencoded"
JSON_TYPE =
"application/json"

Class Method Summary collapse

Class Method Details

.extract(env) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/closeyourit/rails/request_body.rb', line 23

def extract(env)
  params = parsed_params(env) || raw_params(env)
  return nil if params.nil? || params.empty?

  Scrubber.new(CloseYourIt.configuration).filter_params(sanitize(params, 0))
rescue StandardError
  nil
end