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.

Returns:

  • (Symbol)
:param_sanitization_handler

Class Method Summary collapse

Class Method Details

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

Parameters:

  • schema (Dry::Schema::Processor)
  • handler (ParamSanitizationHandler::Handler[]) (defaults to: Types::Undefined)

Returns:

  • (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