Sha256: cf1b216a27e59733ff5ae3fc3a9b4037627bbbbdab850121ed5a7408bd5ae2e6
Contents?: true
Size: 1.25 KB
Versions: 17
Compression:
Stored size: 1.25 KB
Contents
request_version do raise ConfigurationError, "request_version has not been configured" end response_version do raise ConfigurationError, "response_version has not been configured" end validate_response_if do |env, status, headers, body| headers['Content-Type'].to_s.include?('json') && status >= 200 && status <= 299 && status != 204 # No Content end validate_request_if do |env| env['CONTENT_TYPE'].to_s.include?('json') && %w[ POST PUT PATCH ].include?(env.fetch('REQUEST_METHOD')) end on_unavailable_request_version do |env, requested, available| message = "The requested request version is invalid. " + "Requested: #{requested}. " + "Available: #{available}" rack_json_response(406, :error => message) end on_unavailable_sinatra_request_version do |requested, available| message = "The requested request version is invalid. " + "Requested: #{requested}. " + "Available: #{available}" halt 406, JSON.dump(:error => message) end on_invalid_request_body do |env, error| rack_json_response(400, :error => error.message) end on_invalid_sinatra_request_params do |error| halt 400, JSON.dump(:error => error.message) end select_example_response do |endpoint_def, _| endpoint_def.examples.first end
Version data entries
17 entries across 17 versions & 1 rubygems