class SecureNative::Frameworks::Rails

Constants

Public Class Methods

get_client_token(request) click to toggle source
# File lib/securenative/frameworks/rails.rb, line 8
def self.get_client_token(request)
  begin
    request.cookies[SECURENATIVE_COOKIE]
  rescue StandardError
    nil
  end
end
get_headers(request) click to toggle source
# File lib/securenative/frameworks/rails.rb, line 38
def self.get_headers(request)
  begin
    headers = {}

    request.env.select { |k, _| k.in?(ActionDispatch::Http::Headers::CGI_VARIABLES) || k =~ /^HTTP_/ }.each { |header|
      headers[header[0].downcase.gsub("http_", "").gsub("_", "-")] = header[1]
    }

    if headers.length == 0
      request.headers.env.select { |k, _| k.in?(ActionDispatch::Http::Headers::CGI_VARIABLES) || k =~ /^HTTP_/ }.each { |header|
        headers[header[0].downcase.gsub("http_", "").gsub("_", "-")] = header[1]
      }
    end
    return headers
  rescue StandardError
    nil
  end
end
get_method(request) click to toggle source
# File lib/securenative/frameworks/rails.rb, line 30
def self.get_method(request)
  begin
    request.method
  rescue StandardError
    nil
  end
end
get_url(request) click to toggle source
# File lib/securenative/frameworks/rails.rb, line 16
def self.get_url(request)
  begin
    # Rails >= 3.x
    request.fullpath
  rescue StandardError
    begin
      # Rails < 3.x & Sinatra
      request.url if url.nil?
    rescue StandardError
      nil
    end
  end
end