Class: Rack::JsonSchema::RequestValidation

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/json_schema/request_validation.rb

Defined Under Namespace

Classes: Error, InvalidContentType, InvalidJson, InvalidParameter, LinkNotFound, Validator

Instance Method Summary collapse

Constructor Details

#initialize(app, schema: nil, strict: nil) ⇒ RequestValidation

Behaves as a rack-middleware

Parameters:

  • app (Object)

    Rack application

  • schema (Hash) (defaults to: nil)

    Schema object written in JSON schema format

  • strict (Boolean) (defaults to: nil)

    Strict mode or not (default: true)

Raises:

  • (JsonSchema::SchemaError)


9
10
11
12
13
# File 'lib/rack/json_schema/request_validation.rb', line 9

def initialize(app, schema: nil, strict: nil)
  @app = app
  @schema = Schema.new(schema)
  @strict = strict
end

Instance Method Details

#call(env) ⇒ Object

Parameters:

  • env (Hash)

    Rack env

Raises:



17
18
19
20
# File 'lib/rack/json_schema/request_validation.rb', line 17

def call(env)
  Validator.call(env: env, schema: @schema, strict: @strict)
  @app.call(env)
end