View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
☻ 唐鳳 ☺ > WWW-REST-0.011 > WWW::REST



Annotate this POD


Open  0
View/Report Bugs
Module Version: 0.011   Source   Latest Release: WWW-REST-0.022


WWW::REST - Base class for REST resources


This document describes version 0.011 of WWW::REST, released May 2, 2015.


    use XML::RSS;
    use WWW::REST;
    $url = WWW::REST->new("");
    $url->dispatch( sub {
        my $self = shift;
        die $self->status_line if $self->is_error;
        my $rss = XML::RSS->new;
        return $rss;
    $url->get( last_n => 10 )->save("par.rdf");
    warn $url->dir->as_string;    # ""
    warn $url->parent->as_string; # ""
    $url->delete;                 # dies with "405 Method Not Allowed"


This module is a mixin of URI, LWP::UserAgent, HTTP::Response and an 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).


WWW::REST->new($string, @args)

Constructor (class method). Takes an URL string, returns a WWW::REST object. The optional arguments are passed to LWP::UserAgent->new.


Constructor (instance method). Takes an URL string, which may be relative to the object's URL. Returns a WWW::REST object, which inherits the same ua and dispatcher.


Gets or sets the dispatch code reference.

$url->_uri($uri), $url->_ua($uri), $url->_res($uri)

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 method explicitly.

$url->get(%args), $url->post(%args), $url->head(%args), $url->put(%args), $url->delete(%args), $url->options(%args), $url->trace(%args), $url->connect(%args)

Performs the corresponding operation to 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.


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.

Methods derived from URI

    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

Methods derived from LWP::UserAgent

    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

Methods derived from HTTP::Response

    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 purposes.


URI, LWP::UserAgent, HTTP::Response


Audrey Tang <>

CC0 1.0 Universal ^

To the extent possible under law, 唐鳳 has waived all copyright and related or neighboring rights to WWW::REST.

This work is published from Taiwan.

syntax highlighting: