class Rack::JsonSchema::RequestValidation
Public Class Methods
new(app, ignore_invalid_content_type: false, ignore_missing_path: false, schema: nil)
click to toggle source
Behaves as a rack-middleware @param app [Object] Rack
application @param ignore_invalid_content_type [false, true] Ignore requests with non json content-type @param ignore_missing_path [false, true] Ignore requests not defined in schema @param schema [Hash] Schema
object written in JSON schema format @raise [JsonSchema::SchemaError]
# File lib/rack/json_schema/request_validation.rb, line 10 def initialize(app, ignore_invalid_content_type: false, ignore_missing_path: false, schema: nil) @app = app @ignore_invalid_content_type = ignore_invalid_content_type @ignore_missing_path = ignore_missing_path @schema = Schema.new(schema) end
Public Instance Methods
call(env)
click to toggle source
@raise [Rack::JsonSchema::RequestValidation::Error] Raises if given request is invalid to JSON Schema
@param env [Hash] Rack
env
# File lib/rack/json_schema/request_validation.rb, line 19 def call(env) Validator.call( env: env, ignore_invalid_content_type: @ignore_invalid_content_type, ignore_missing_path: @ignore_missing_path, schema: @schema ) @app.call(env) end