GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
IO::Lambda::HTTP(3) User Contributed Perl Documentation IO::Lambda::HTTP(3)

IO::Lambda::HTTP - http requests lambda style

The module exports a single condition "http_request" that accepts a "HTTP::Request" object and set of options as parameters. The condition returns either a "HTTP::Response" on success, or an error string otherwise.

   use HTTP::Request;
   use IO::Lambda qw(:all);
   use IO::Lambda::HTTP qw(http_request);

   lambda {
      context shift;
      http_request {
         my $result = shift;
         if ( ref($result)) {
            print "good: ", length($result-> content), " bytes\n";
         } else {
            print "bad: $result\n";
         }
      }
   }-> wait(
       HTTP::Request-> new( GET => "http://www.perl.com/")
   );

http_request $HTTP::Request -> $HTTP::Response
"http_request" is a lambda condition that accepts "HTTP::Request" object in the context. Returns either a "HTTP::Response" object on success, or error string otherwise.
new $HTTP::Request :: () -> $HTTP::Response
Stores "HTTP::Request" object and returns a new lambda that will finish when the associated request completes. The lambda will return either a "HTTP::Response" object on success, or an error string otherwise.

async_dns BOOLEAN
If set, hostname will be resolved with IO::Lambda::DNS using asynchronous capabilities of Net::DNS. Note that this method won't be able to account for non-DNS (/etc/hosts, NIS) host names.

If unset (default), hostnames will be resolved in a blocking manner.

auth $AUTH
Normally, a request is sent without any authentication. If the request returns error 401, then all available methods of authentication are tried. If the type of authentication that shall be accepted by the remote is known in advance, the non-authenticated request stage can be skipped altogether by explicitly setting the "auth" option:

   username => 'user',
   password => 'pass',
   auth     => 'Basic',
    
conn_cache $LWP::ConnCache = undef
The requestor can optionally use a "LWP::ConnCache" object to reuse connections on per-host per-port basis. Desired for HTTP/1.1. Required for the NTLM/Negotiate authentication. See LWP::ConnCache for details.
deadline SECONDS = undef
Aborts a request and returns 'timeout' string as an error if the request is not finished before the deadline (in epoch seconds). If undef, timeout never occurs.
keep_alive BOOLEAN
If set, all incoming request objects are silently converted use HTTP/1.1, and connections are automatically reused. Same as combination of the following:

   $req-> protocol('HTTP/1.1');
   $req-> headers-> header( Host => $req-> uri-> host);
   new( $req, conn_cache => LWP::ConnCache-> new);
    
max_redirect NUM = 7
Maximum allowed redirects. If 0, no redirection attemps are made.
preferred_auth $AUTH|%AUTH
Sets list of preferred authentication methods, that is used in selection of the authentication method when the remote server supports several. When the value is a string, then the given method is tried first, and only then all other available methods. When it is a hash, the hash values are treated as weight factors, such as, the method with the greatest weight is tried first. Negative values prevent the corresponding methods from being tried.

     # try basic and whatever else
     preferred_auth => 'Basic',

     # try basic and never ntlm
     preferred_auth => {
         Basic => 1,
         NTLM  => -1,
     },
    

Note that the current implementation does not provide re-trying of authentication if a method, or combination of username and password fails. When at least one method is declared by the remote as supported, and was tried, and subsequently failed, no further authentication retries are made, and the request is reported as failed.

proxy HOSTNAME | [ HOSTNAME, PORT ]
If set, HOSTNAME (or HOSTNAME and PORT tuple) is used as HTTP proxy.
timeout SECONDS = undef
Maximum allowed time the request can take. If undef, no timeouts occur.

Non-blocking connects, and hence the module, don't work on win32 on perl5.8.X due to under-implementation in ext/IO.xs. They do work on 5.10 however.

IO::Lambda, HTTP::Request, HTTP::Response

Dmitry Karasik, <dmitry@karasik.eu.org>.
2012-03-14 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.