class Datadome::ValidationResponse
Attributes
pass[RW]
redirect[RW]
redirection_location[RW]
request_headers[RW]
response_body[RW]
response_headers[RW]
response_status[RW]
Public Class Methods
from_faraday_response(response)
click to toggle source
# File lib/datadome/validation_response.rb, line 12 def from_faraday_response(response) validation_response = if response.status == 403 new(pass: false, redirect: false, response_status: 403, response_body: response.body) elsif response.status == 301 || response.status == 302 new(pass: false, redirect: true, response_status: response.status, redirection_location: response.headers["Location"]) else pass end parse_headers_list(response.headers["X-DataDome-request-headers"]).each do |key| validation_response.request_headers[key] = response.headers[key] end parse_headers_list(response.headers["X-DataDome-headers"]).each do |key| validation_response.response_headers[key] = response.headers[key] end validation_response end
new(attrs = {})
click to toggle source
# File lib/datadome/validation_response.rb, line 44 def initialize(attrs = {}) self.request_headers = {} self.response_headers = {} attrs.each do |key, value| public_send("#{key}=", value) end end
parse_headers_list(list)
click to toggle source
# File lib/datadome/validation_response.rb, line 33 def parse_headers_list(list) return [] if list.nil? || list == "" list.split(" ") end
pass()
click to toggle source
# File lib/datadome/validation_response.rb, line 8 def pass new(pass: true, redirect: false) end
Public Instance Methods
to_rack_response()
click to toggle source
# File lib/datadome/validation_response.rb, line 53 def to_rack_response response = ::Rack::Response.new(@response_body || [], @response_status, @response_headers) response.redirect(@redirection_location, @response_status) if @redirect response.finish end