Class: Committee::Middleware::Options::ResponseValidation

Inherits:
Base
  • Object
show all
Defined in:
lib/committee/middleware/options/response_validation.rb

Constant Summary collapse

DEFAULTS =

Default values

{ strict: false, validate_success_only: true, parse_response_by_content_type: true, coerce_response_values: false }.freeze

Instance Attribute Summary collapse

Attributes inherited from Base

#accept_request_filter, #error_class, #error_handler, #ignore_error, #prefix, #raise_error, #schema, #schema_path, #strict_reference_validation

Instance Method Summary collapse

Methods inherited from Base

#[], #fetch, from, #to_h

Constructor Details

#initialize(options = {}) ⇒ ResponseValidation

Returns a new instance of ResponseValidation.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/committee/middleware/options/response_validation.rb', line 17

def initialize(options = {})
  super(options)

  # Validation related
  @strict = options.fetch(:strict, DEFAULTS[:strict])
  @validate_success_only = options.fetch(:validate_success_only, DEFAULTS[:validate_success_only])
  @parse_response_by_content_type = options.fetch(:parse_response_by_content_type, DEFAULTS[:parse_response_by_content_type])
  @coerce_response_values = options.fetch(:coerce_response_values, DEFAULTS[:coerce_response_values])

  # Streaming
  @streaming_content_parsers = options[:streaming_content_parsers] || {}

  validate_response_validation_options!
end

Instance Attribute Details

#coerce_response_valuesObject (readonly)

Returns the value of attribute coerce_response_values.



11
12
13
# File 'lib/committee/middleware/options/response_validation.rb', line 11

def coerce_response_values
  @coerce_response_values
end

#parse_response_by_content_typeObject (readonly)

Returns the value of attribute parse_response_by_content_type.



10
11
12
# File 'lib/committee/middleware/options/response_validation.rb', line 10

def parse_response_by_content_type
  @parse_response_by_content_type
end

#streaming_content_parsersObject (readonly)

Returns the value of attribute streaming_content_parsers.



12
13
14
# File 'lib/committee/middleware/options/response_validation.rb', line 12

def streaming_content_parsers
  @streaming_content_parsers
end

#strictObject (readonly)

ResponseValidation specific options



8
9
10
# File 'lib/committee/middleware/options/response_validation.rb', line 8

def strict
  @strict
end

#validate_success_onlyObject (readonly)

Returns the value of attribute validate_success_only.



9
10
11
# File 'lib/committee/middleware/options/response_validation.rb', line 9

def validate_success_only
  @validate_success_only
end