Module: Aikido::Zen::Sinks::Patron::Helpers

Defined in:
lib/aikido/zen/sinks/patron.rb

Class Method Summary collapse

Class Method Details

.scan(request, connection, operation) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/aikido/zen/sinks/patron.rb', line 28

def self.scan(request, connection, operation)
  SINK.scan(
    request: request,
    connection: connection,
    operation: operation
  )
end

.wrap_response(request, response) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/aikido/zen/sinks/patron.rb', line 13

def self.wrap_response(request, response)
  # In this case, automatic redirection happened inside libcurl.
  if response.url != request.url && !response.url.to_s.empty?
    Scanners::SSRFScanner::Response.new(
      status: 302, # We can't know what the actual status was, but we just need a 3XX
      headers: response.headers.merge("Location" => response.url)
    )
  else
    Scanners::SSRFScanner::Response.new(
      status: response.status,
      headers: response.headers
    )
  end
end