Sha256: 3bc1a49ed539357343863ea5274c2d5f681d86486e75c6e1ad0e26ea3ce6aa3a
Contents?: true
Size: 1.99 KB
Versions: 3
Compression:
Stored size: 1.99 KB
Contents
# binding request data and operation object class OpenAPIParser::RequestOperation class << self # @param [OpenAPIParser::Config] config # @param [OpenAPIParser::PathItemFinder] path_item_finder # @return [OpenAPIParser::RequestOperation, nil] def create(http_method, request_path, path_item_finder, config) operation, original_path, path_params = path_item_finder.operation_object(http_method, request_path) return nil unless operation self.new(http_method, original_path, operation, path_params, config) end end # @!attribute [r] operation_object # @return [OpenAPIParser::Schemas::Operation] # @!attribute [r] path_params # @return [Hash{String => String}] # @!attribute [r] config # # @return [OpenAPIParser::Config] # @!attribute [r] http_method # @return [String] # @!attribute [r] original_path # @return [String] attr_reader :operation_object, :path_params, :config, :http_method, :original_path # @param [OpenAPIParser::Config] config def initialize(http_method, original_path, operation_object, path_params, config) @http_method = http_method.to_s @original_path = original_path @operation_object = operation_object @path_params = path_params || {} @config = config end def validate_path_params(options = nil) options = config.path_params_options unless options operation_object&.validate_path_params(path_params, options) end # support application/json only :( def validate_request_body(content_type, params, options = nil) options = config.request_body_options unless options operation_object&.validate_request_body(content_type, params, options) end def validate_response_body(status_code, content_type, data) operation_object&.validate_response_body(status_code, content_type, data) end def validate_request_parameter(params, options = nil) options = config.request_validator_options unless options operation_object&.validate_request_parameter(params, options) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
openapi_parser-0.1.5 | lib/openapi_parser/request_operation.rb |
openapi_parser-0.1.4 | lib/openapi_parser/request_operation.rb |
openapi_parser-0.1.3 | lib/openapi_parser/request_operation.rb |