View Source BrowserForge.Headers.Generator (BrowserForge v0.1.0)

Generates HTTP headers based on a set of constraints.

Summary

Functions

Generates headers using the default options and their possible overrides.

Creates a new HeaderGenerator with the given options.

Types

browser_option()

@type browser_option() :: String.t() | BrowserForge.Headers.Browser.t()

list_or_string()

@type list_or_string() :: String.t() | [String.t()]

t()

@type t() :: %BrowserForge.Headers.Generator{
  header_generator_network: BrowserForge.BayesianNetwork.t(),
  headers_order: map(),
  input_generator_network: BrowserForge.BayesianNetwork.t(),
  options: map(),
  unique_browsers: list()
}

Functions

generate(generator, opts \\ [])

Generates headers using the default options and their possible overrides.

Options

  • :browser - Browser(s) or Browser struct(s) to generate headers for
  • :os - Operating system(s) to generate headers for
  • :device - Device(s) to generate headers for
  • :locale - Language(s) for the Accept-Language header
  • :http_version - HTTP version to use (1 or 2)
  • :user_agent - User-Agent(s) to use
  • :request_dependent_headers - Known values of request-dependent headers
  • :strict - Whether to throw an error if headers cannot be generated

Examples

iex> generator = Generator.new()
iex> Generator.generate(generator)
%{"User-Agent" => "...", ...}

iex> Generator.generate(generator, browser: "chrome", os: "windows")
%{"User-Agent" => "...", ...}

new(opts \\ [])

Creates a new HeaderGenerator with the given options.

Options

  • :browser - Browser(s) or Browser struct(s) to generate headers for
  • :os - Operating system(s) to generate headers for
  • :device - Device(s) to generate headers for
  • :locale - Language(s) for the Accept-Language header
  • :http_version - HTTP version to use (1 or 2)
  • :strict - Whether to throw an error if headers cannot be generated

Examples

iex> Generator.new()
%Generator{}

iex> Generator.new(browser: "chrome", os: "windows", device: "desktop")
%Generator{}