GNU.WIKI: The GNU/Linux Knowledge Base

  [HOME] [PHP Manual] [HowTo] [ABS] [MAN1] [MAN2] [MAN3] [MAN4] [MAN5] [MAN6] [MAN7] [MAN8] [MAN9]

  [0-9] [Aa] [Bb] [Cc] [Dd] [Ee] [Ff] [Gg] [Hh] [Ii] [Jj] [Kk] [Ll] [Mm] [Nn] [Oo] [Pp] [Qq] [Rr] [Ss] [Tt] [Uu] [Vv] [Ww] [Xx] [Yy] [Zz]


NAME

       IO::All::LWP - IO::All interface to LWP

SYNOPSIS

           use IO::All;

           "hello world
" > io('ftp://localhost/test/x');   # save to FTP
           $content < io('http://example.org');              # GET webpage

           io('http://example.org') > io('index.php');      # save webpage

DESCRIPTION

       This module acts as glue between IO::All and LWP, so that files can be
       read and written through the network using the convenient <IO:All>
       interface.  Note that this module is not "use"d directly: you just use
       IO::All, which knows when to autoload IO::All::HTTP, IO::All::HTTPS,
       IO::All::FTP, or IO::All::Gopher, which implement the specific
       protocols based on IO::All::LWP.

EXECUTION MODEL

       GET requests. When the IO::All object is opened, the URI is fetched and
       stored by the object in an internal file handle. It can then be
       accessed like any other file via the IO::All methods and operators, it
       can be tied, etc.

       PUT requests. When the IO::All object is opened, an internal file
       handle is created. It is possible to that file handle using the various
       IO::All methods and operators, it can be tied, etc. If $io->put is not
       called explicitly, when the IO::All object is closed, either explicitly
       via $io->close or automatically upon destruction, the actual PUT
       request is made.

       The bad news is that the whole file is stored in memory after getting
       it or before putting it. This may cause problems if you are dealing
       with multi-gigabyte files!

METHODS

       The simplest way of doing things is via the overloaded operators > and
       <, as shown in the SYNOPSIS. These take care of automatically opening
       and closing the files and connections as needed. However, various
       methods are available to provide a finer degree of control.

       This is a subclass of IO::All. In addition to the inherited methods,
       the following methods are available:

       ·   ua

           Set or get the user agent object (LWP::UserAgent or a subclass). If
           called with a list, the list is passed to LWP::UserAgent->new. If
           called with an object, the object is used directly as the user
           agent. Note that there is a default user agent if no user agent is
           specified.

       ·   uri

           Set or get the URI. It can take either a URI object or a string,
           and it returns an URI object. Note that calling this method
           overrides the user and password fields, because URIs can contain
           authentication information.

       ·   user

           Set or get the user name for authentication. Note that the user
           name (and the password) can also be set as part of the URL, as in
           "http://me:secret@example.com/".

       ·   password

           Set or get the password for authentication. Note that the password
           can also be set as part of the URL, as discussed above.

       ·   get

           GET the current URI using LWP. Or, if called with an HTTP::Request
           object as a parameter, it does that request instead. It returns the
           HTTP::Response object.

       ·   put

           PUT to the current URI using LWP. If called with an HTTP::Request
           object, it does that request instead. If called with a scalar, it
           PUTs that as the content to the current URI, instead of the current
           accumulated content.

       ·   response

           Return the HTTP::Response object.

       ·   request

           Does an LWP request. It requires an HTTP::Request object as a
           parameter.  Returns an HTTP::Response object.

       ·   open

           Overrides the "open" method from IO::All. It takes care of GETting
           the content, or of setting up the internal buffer for PUTting. Just
           like the "open" method from IO::All, it can take a mode: '<' for
           GET and '>' for PUT.

       ·   close

           Overrides the "close" method from IO::All. It takes care of PUTting
           the content.

DEPENDENCIES

       This module uses LWP for all the heavy lifting. It also requires
       perl-5.8.0 or a more recent version.

SEE ALSO

       IO::All, LWP, IO::All::HTTP, IO::All::FTP.

AUTHORS

       Ivan Tubert-Brohman <itub@cpan.org> and Brian Ingerson <ingy@cpan.org>

       Thanks to Sergey Gleizer for the ua method.

COPYRIGHT

       Copyright (c) 2007. Ivan Tubert-Brohman and Brian Ingerson. All rights
       reserved.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       See <http://www.perl.com/perl/misc/Artistic.php>



  All copyrights belong to their respective owners. Other content (c) 2014-2018, GNU.WIKI. Please report site errors to webmaster@gnu.wiki.
Page load time: 0.113 seconds. Last modified: November 04 2018 12:49:43.