The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

WWW::Snooze::Request - Main request object featuring autoloading

METHODS

new(%args)

headers

Override headers with an instance of HTTP::Headers

serializer

Override serializer with and instance of WWW::Snooze::Serialize

get([\%data])

delete([\%data])

post([\%data])

put([\%data])

Perform HTTP operation on URL, %data is encoded using the serializer.

AUTOMATIC METHODS

The request object uses autoloading method names to build the request. Calling a method on the request object will add that method name on to the URL stack and return a new request object with the new stack.

[$element]($id, %query_string)

Automatic methods can be called with an id argument, or undef if there is no id, and named parameters which are encoded to a query string

my $r = WWW::Snooze::Request->new('http://example.com');

$r->foo();
# Request URL would be http://example.com/foo.json

$r->foo(42)->bar;
# http://example.com/foo/42/bar.json

$r->foo(undef, foo => 'bar');
# http://example.com/foo?foo=bar

_add_element($name, $id, %query_string)

Automatic methods are built using this private function, however you can also revert to calling this directly in the case of a namespace collision with an element or a poorly named element.

$r->_add_element('poorly named');
# http://example.com/poorly%20named

$r->_add_element('foo', 42, foo => bar);
# http://example.com/foo/42.json?foo=bar

ATTRIBUTES

Privately scoped to avoid namespace collision

_args()

Return query string arguments added

_serializer()

Return the serializer

_headers()

Return the HTTP::Headers object

AUTHOR

Anthony Johnson <aj@ohess.org>