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
@type browser_option() :: String.t() | BrowserForge.Headers.Browser.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
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" => "...", ...}
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{}