Module: WebPipe::Plugs::SanitizeParams

Defined in:
lib/web_pipe/extensions/dry_schema/plugs/sanitize_params.rb

Overview

Sanitize Conn#params with given dry-schema Schema.

See Also:

Constant Summary collapse

PARAM_SANITIZATION_HANDLER_KEY =

Conn#config key to store the handler.

:param_sanitization_handler

Class Method Summary collapse

Class Method Details

.call(schema, handler = Types::Undefined) ⇒ ConnSupport::Composition::Operation[], Types::Undefined



21
22
23
24
25
26
27
28
29
30
# File 'lib/web_pipe/extensions/dry_schema/plugs/sanitize_params.rb', line 21

def self.call(schema, handler = Types::Undefined)
  lambda do |conn|
    result = schema.call(conn.params)
    if result.success?
      conn.add_config(DrySchema::SANITIZED_PARAMS_KEY, result.output)
    else
      get_handler(conn, handler).call(conn, result)
    end
  end
end