class Rox::Core::RequestConfigurationBuilder

Public Class Methods

new(sdk_settings, buid, device_properties) click to toggle source
# File lib/rox/core/network/request_configuration_builder.rb, line 8
def initialize(sdk_settings, buid, device_properties)
  @sdk_settings = sdk_settings
  @buid = buid
  @device_properties = device_properties
  @rox_options = device_properties.rox_options
end

Public Instance Methods

build_for_api() click to toggle source
# File lib/rox/core/network/request_configuration_builder.rb, line 25
def build_for_api
  build_request_with_full_params("#{Rox::Core::Environment.api_path(@rox_options.self_managed_options&.server_url)}/#{relative_path}")
end
build_for_cdn() click to toggle source
# File lib/rox/core/network/request_configuration_builder.rb, line 20
def build_for_cdn
  RequestData.new("#{Rox::Core::Environment.cdn_path}/#{relative_path}",
                  Rox::Core::PropertyType::DISTINCT_ID.name => @device_properties.distinct_id)
end
build_for_roxy() click to toggle source
# File lib/rox/core/network/request_configuration_builder.rb, line 15
def build_for_roxy
  roxy_endpoint = URI.join(@rox_options.roxy_url, Rox::Core::Environment.roxy_internal_path).to_s
  build_request_with_full_params(roxy_endpoint)
end
build_request_with_full_params(url) click to toggle source
# File lib/rox/core/network/request_configuration_builder.rb, line 33
def build_request_with_full_params(url)
  query_params = {}

  @buid.query_string_parts.each do |key, value|
    query_params[key] = value unless query_params.include?(key)
  end

  @device_properties.all_properties.each do |key, value|
    query_params[key] = value unless query_params.include?(key)
  end

  query_params[Rox::Core::PropertyType::CACHE_MISS_RELATIVE_URL.name] = relative_path
  query_params['devModeSecret'] = @sdk_settings.dev_mode_secret

  RequestData.new(url, query_params)
end
relative_path() click to toggle source
# File lib/rox/core/network/request_configuration_builder.rb, line 29
def relative_path
  "#{@device_properties.rollout_key}/#{@buid.value}"
end