Class: OpenAPIParser::RequestOperation

Inherits:
Object
  • Object
show all
Defined in:
lib/openapi_parser/request_operation.rb

Overview

binding request data and operation object

Defined Under Namespace

Classes: ValidatableResponseBody

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(http_method, result, config, security_schemes) ⇒ RequestOperation

Returns a new instance of RequestOperation.

Parameters:



33
34
35
36
37
38
39
40
41
# File 'lib/openapi_parser/request_operation.rb', line 33

def initialize(http_method, result, config, security_schemes)
  @http_method = http_method.to_s
  @original_path = result.original_path
  @operation_object = result.operation_object
  @path_params = result.path_params || {}
  @path_item = result.path_item_object
  @config = config
  @security_schemes = security_schemes
end

Instance Attribute Details

#configOpenAPIParser::Config (readonly)



28
# File 'lib/openapi_parser/request_operation.rb', line 28

attr_reader :operation_object, :path_params, :config, :http_method, :original_path, :path_item, :security_schemes

#http_methodString (readonly)

Returns:

  • (String)


28
# File 'lib/openapi_parser/request_operation.rb', line 28

attr_reader :operation_object, :path_params, :config, :http_method, :original_path, :path_item, :security_schemes

#operation_objectOpenAPIParser::Schemas::Operation (readonly)



28
29
30
# File 'lib/openapi_parser/request_operation.rb', line 28

def operation_object
  @operation_object
end

#original_pathString (readonly)

Returns:

  • (String)


28
# File 'lib/openapi_parser/request_operation.rb', line 28

attr_reader :operation_object, :path_params, :config, :http_method, :original_path, :path_item, :security_schemes

#path_itemOpenAPIParser::Schemas::PathItem (readonly)



28
# File 'lib/openapi_parser/request_operation.rb', line 28

attr_reader :operation_object, :path_params, :config, :http_method, :original_path, :path_item, :security_schemes

#path_paramsHash{String => String} (readonly)

Returns:

  • (Hash{String => String})


28
# File 'lib/openapi_parser/request_operation.rb', line 28

attr_reader :operation_object, :path_params, :config, :http_method, :original_path, :path_item, :security_schemes

#security_schemesObject (readonly)

Returns the value of attribute security_schemes.



28
29
30
# File 'lib/openapi_parser/request_operation.rb', line 28

def security_schemes
  @security_schemes
end

Class Method Details

.create(http_method, request_path, path_item_finder, config, security_schemes = {}) ⇒ OpenAPIParser::RequestOperation?

Parameters:

Returns:



8
9
10
11
12
13
# File 'lib/openapi_parser/request_operation.rb', line 8

def create(http_method, request_path, path_item_finder, config, security_schemes = {})
  result = path_item_finder.operation_object(http_method, request_path)
  return nil unless result

  self.new(http_method, result, config, security_schemes)
end

Instance Method Details

#validate_path_params(options = nil) ⇒ Object



47
48
49
50
# File 'lib/openapi_parser/request_operation.rb', line 47

def validate_path_params(options = nil)
  options ||= config.path_params_options
  operation_object&.validate_path_params(path_params, options)
end

#validate_request_body(content_type, params, options = nil) ⇒ Object

Parameters:



55
56
57
58
# File 'lib/openapi_parser/request_operation.rb', line 55

def validate_request_body(content_type, params, options = nil)
  options ||= config.request_body_options
  operation_object&.validate_request_body(content_type, params, options)
end

#validate_request_parameter(params, headers, options = nil) ⇒ Object

Parameters:



71
72
73
74
75
# File 'lib/openapi_parser/request_operation.rb', line 71

def validate_request_parameter(params, headers, options = nil)
  options ||= config.request_validator_options
  validate_security(security_schemes, headers)
  operation_object&.validate_request_parameter(params, headers, options)
end

#validate_response_body(response_body, response_validate_options = nil) ⇒ Object

Parameters:



62
63
64
65
66
# File 'lib/openapi_parser/request_operation.rb', line 62

def validate_response_body(response_body, response_validate_options = nil)
  response_validate_options ||= config.response_validate_options

  operation_object&.validate_response(response_body, response_validate_options)
end

#validate_security(security_schemes, headers) ⇒ Object



43
44
45
# File 'lib/openapi_parser/request_operation.rb', line 43

def validate_security(security_schemes, headers)
  operation_object.validate_security_schemes(security_schemes, headers)
end