Module: Mojo::UserAgent::Proxy
Parent: Mojo::Base

NAME

Mojo::UserAgent::Proxy - User agent proxy manager

SYNOPSIS

use Mojo::UserAgent::Proxy;

my $proxy = Mojo::UserAgent::Proxy->new;
$proxy->detect;
say $proxy->http;

DESCRIPTION

Mojo::UserAgent::Proxy manages proxy servers for Mojo::UserAgent.

ATTRIBUTES

Mojo::UserAgent::Proxy implements the following attributes.

http

my $http = $proxy->http;
$proxy   = $proxy->http('socks://sri:secret@127.0.0.1:8080');

Proxy server to use for HTTP and WebSocket requests.

https

my $https = $proxy->https;
$proxy    = $proxy->https('http://sri:secret@127.0.0.1:8080');

Proxy server to use for HTTPS and WebSocket requests.

not

my $not = $proxy->not;
$proxy  = $proxy->not(['localhost', 'intranet.mojolicious.org']);

Domains that don't require a proxy server to be used.

METHODS

Mojo::UserAgent::Proxy inherits all methods from Mojo::Base and implements the following new ones.

detect

$proxy = $proxy->detect;

Check environment variables HTTP_PROXY, http_proxy, HTTPS_PROXY, https_proxy, NO_PROXY and no_proxy for proxy information. Automatic proxy detection can be enabled with the MOJO_PROXY environment variable.

is_needed

my $bool = $proxy->is_needed('intranet.example.com');

Check if request for domain would use a proxy server.

prepare

$proxy->prepare(Mojo::Transaction::HTTP->new);

Prepare proxy server information for transaction.

SEE ALSO

Mojolicious, Mojolicious::Guides, https://mojolicious.org.