WWW::REST - Base class for REST resources
version 0.021
use XML::RSS; use WWW::REST; $url = WWW::REST->new("http://nntp.x.perl.org/rss/perl.par.rdf"); $url->dispatch( sub { my $self = shift; die $self->status_line if $self->is_error; my $rss = XML::RSS->new; $rss->parse($self->content); return $rss; }); $url->get( last_n => 10 )->save("par.rdf"); $url->url("perl.perl5.porters.rdf")->get->save("p5p.rdf"); warn $url->dir->as_string; # "http://nntp.x.perl.org/rss/" warn $url->parent->as_string; # "http://nntp.x.perl.org/" $url->delete; # dies with "405 Method Not Allowed"
This module is a mixin of URI, LWP::UserAgent, HTTP::Response and a user-defined dispatch module. It is currently just a proof of concept for a resource-oriented API framework, also known as REST (Representational State Transfer).
Constructor (class method). Takes a URL string, returns a WWW::REST object. The optional arguments are passed to LWP::UserAgent->new.
Constructor (instance method). Takes a URL string, which may be relative to the object's URL. Returns a WWW::REST object, which inherits the same ua (= user-agent) and dispatcher.
Gets or sets the dispatch code reference.
Gets or sets the embedded URI, LWP::UserAgent and HTTP::Response objects respectively. Note that $url can automatically delegate method calls to embedded objects, so normally you won't need to call those methods explicitly.
$url
Performs the corresponding operation on the object; returns the object itself. If dispatch is set to a code reference, the object is passed to it instead, and returns its return value.
dispatch
Returns a WWW::REST object with the URL of the current object's parent directory.
Returns a WWW::REST object with the URL of the current object's current directory.
clone scheme opaque path fragment as_string canonical eq abs rel authority path path_query path_segments query query_form query_keywords userinfo host port host_port default_port
request send_request prepare_request simple_request request protocols_allowed protocols_allowed protocols_forbidden protocols_forbidden is_protocol_supported requests_redirectable requests_redirectable redirect_ok credentials get_basic_credentials agent from timeout cookie_jar conn_cache parse_head max_size clone mirror proxy no_proxy
code message request previous status_line base is_info is_success is_redirect is_error error_as_HTML current_age freshness_lifetime is_fresh fresh_until
This module is considered highly experimental and essentially unmaintained; it's kept on CPAN for historical reasons.
URI, LWP::UserAgent, HTTP::Response
Audrey Tang <cpan@audreyt.org>
Shlomi Fish, http://www.shlomifish.org/ .
To the extent possible under law, 唐鳳 has waived all copyright and related or neighboring rights to WWW::REST.
This work is published from Taiwan.
http://creativecommons.org/publicdomain/zero/1.0
Shlomi Fish <shlomif@cpan.org>
This work is in the public domain and is not subject to restriction or control via any copyright system. It is available as-is and comes with no guarantee whatsoever.
Please report any bugs or feature requests on the bugtracker website https://github.com/shlomif/www-rest/issues
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
You can find documentation for this module with the perldoc command.
perldoc WWW::REST
The following websites have more information about this module, and may be of help to you. As always, in addition to those websites please use your favorite search engine to discover more resources.
MetaCPAN
A modern, open-source CPAN search engine, useful to view POD in HTML format.
http://metacpan.org/release/WWW-REST
Search CPAN
The default CPAN search engine, useful to view POD in HTML format.
http://search.cpan.org/dist/WWW-REST
RT: CPAN's Bug Tracker
The RT ( Request Tracker ) website is the default bug/issue tracking system for CPAN.
https://rt.cpan.org/Public/Dist/Display.html?Name=WWW-REST
AnnoCPAN
The AnnoCPAN is a website that allows community annotations of Perl module documentation.
http://annocpan.org/dist/WWW-REST
CPAN Ratings
The CPAN Ratings is a website that allows community ratings and reviews of Perl modules.
http://cpanratings.perl.org/d/WWW-REST
CPAN Forum
The CPAN Forum is a web forum for discussing Perl modules.
http://cpanforum.com/dist/WWW-REST
CPANTS
The CPANTS is a website that analyzes the Kwalitee ( code metrics ) of a distribution.
http://cpants.cpanauthors.org/dist/WWW-REST
CPAN Testers
The CPAN Testers is a network of smokers who run automated tests on uploaded CPAN distributions.
http://www.cpantesters.org/distro/W/WWW-REST
CPAN Testers Matrix
The CPAN Testers Matrix is a website that provides a visual overview of the test results for a distribution on various Perls/platforms.
http://matrix.cpantesters.org/?dist=WWW-REST
CPAN Testers Dependencies
The CPAN Testers Dependencies is a website that shows a chart of the test results of all dependencies for a distribution.
http://deps.cpantesters.org/?module=WWW::REST
Please report any bugs or feature requests by email to bug-www-rest at rt.cpan.org, or through the web interface at https://rt.cpan.org/Public/Bug/Report.html?Queue=WWW-REST. You will be automatically notified of any progress on the request by the system.
bug-www-rest at rt.cpan.org
The code is open to the world, and available for you to hack on. Please feel free to browse it and play with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull from your repository :)
https://github.com/shlomif/perl-WWW-REST
git clone https://github.com/shlomif/perl-WWW-REST.git
To install WWW::REST, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WWW::REST
CPAN shell
perl -MCPAN -e shell install WWW::REST
For more information on module installation, please visit the detailed CPAN module installation guide.