Class: RequestData

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

Constant Summary collapse

DATA_LIMITS =
{
  SecCHDeviceMemory: 8,
  SecCHUAMobile: 8,
  SecFetchUser: 8,
  TlsProtocol: 8,
  SecCHUAArch: 16,
  SecCHUAPlatform: 32,
  SecFetchDest: 32,
  SecFetchMode: 32,
  ContentType: 64,
  SecFetchSite: 64,
  TlsCipher: 64,
  AcceptCharset: 128,
  AcceptEncoding: 128,
  CacheControl: 128,
  ClientID: 128,
  Connection: 128,
  From: 128,
  Pragma: 128,
  SecCHUA: 128,
  SecCHUAModel: 128,
  TrueClientIP: 128,
  'X-Real-IP': 128,
  'X-Requested-With': 128,
  AcceptLanguage: 256,
  SecCHUAFullVersionList: 256,
  Via: 256,
  Accept: 512,
  HeadersList: 512,
  Host: 512,
  Origin: 512,
  ServerHostname: 512,
  ServerName: 512,
  XForwardedForIP: 512,
  UserAgent: 768,
  Referer: 1024,
  Request: 2048,
}.freeze
HEADERS_SHORTENED_FROM_ENDING =
i[XForwardedForIP].freeze
INTERNAL_MODULE_NAME =
'Ruby'.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request, datadome_server_side_key) ⇒ RequestData

Returns a new instance of RequestData.



52
53
54
55
# File 'lib/request_data.rb', line 52

def initialize(request, datadome_server_side_key)
  @request = request
  @datadome_server_side_key = datadome_server_side_key
end

Instance Attribute Details

#datadome_server_side_keyObject (readonly)

Returns the value of attribute datadome_server_side_key.



5
6
7
# File 'lib/request_data.rb', line 5

def datadome_server_side_key
  @datadome_server_side_key
end

#requestObject (readonly)

Returns the value of attribute request.



5
6
7
# File 'lib/request_data.rb', line 5

def request
  @request
end

Class Method Details

.for(request, datadome_server_side_key) ⇒ Object



57
58
59
# File 'lib/request_data.rb', line 57

def self.for(request, datadome_server_side_key)
  new(request, datadome_server_side_key).run
end

Instance Method Details

#runObject



61
62
63
# File 'lib/request_data.rb', line 61

def run
  URI.encode_www_form(limited_size_payload)
end