Class: Datadome::Inquirer

Inherits:
Object
  • Object
show all
Defined in:
lib/datadome/inquirer.rb

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ Inquirer

Returns a new instance of Inquirer.



8
9
10
# File 'lib/datadome/inquirer.rb', line 8

def initialize(env)
  @env = env
end

Instance Method Details

#build_responseObject



12
13
14
# File 'lib/datadome/inquirer.rb', line 12

def build_response
  @validation_response.to_rack_response
end

#enrichingObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/datadome/inquirer.rb', line 16

def enriching
  status, headers, response = yield

  added_headers = ::Rack::Utils::HeaderHash.new(@validation_response.response_headers)

  headers = ::Rack::Utils::HeaderHash.new(headers)
  existing_set_cookie = headers["Set-Cookie"]

  headers.merge!(added_headers)

  if added_headers["Set-Cookie"] && existing_set_cookie
    headers["Set-Cookie"] = merge_cookie(existing_set_cookie, added_headers["Set-Cookie"])
  end

  [status, headers, response]
end

#inquireObject



37
38
39
# File 'lib/datadome/inquirer.rb', line 37

def inquire
  @validation_response = validate_request
end

#intercept?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/datadome/inquirer.rb', line 33

def intercept?
  @validation_response.pass == false || @validation_response.redirect
end