AnyEvent-HTTP-Socks
view release on metacpan or search on metacpan
lib/AnyEvent/HTTP/Socks.pm view on Meta::CPAN
http_head
http_post
http_request
);
use constant {
READ_WATCHER => 1,
WRITE_WATCHER => 2,
};
sub http_get($@) {
unshift @_, 'GET';
&http_request;
}
sub http_head($@) {
unshift @_, 'HEAD';
&http_request;
}
sub http_post($$@) {
my $url = shift;
unshift @_, 'POST', $url, 'body';
&http_request;
}
sub http_request($$@) {
my ($method, $url, $cb) = (shift, shift, pop);
my %opts = @_;
my $socks = delete $opts{socks};
if ($socks) {
my @chain;
while ($socks =~ m!socks(4|4a|5)://(?:([^\s:]+):([^\s@]*)@)?(\[[0-9a-f:.]+\]|[^\s:]+):(\d+)!gi) {
push @chain, {ver => $1, login => $2, pass => $3, host => $4, port => $5};
}
( run in 0.540 second using v1.01-cache-2.11-cpan-65fba6d93b7 )