NAME

HTTP::WebTest::Request - HTTP request objects

SYNOPSIS

use HTTP::WebTest::Request;
$request = HTTP::WebTest::Request->new;

my $uri = $request->uri;

$request->base_uri($base_uri);
my $base_uri = $request->base_uri;

my @params = @{$request->params};
$request->params([@params]);

DESCRIPTION

This class is a subclass of HTTP::Request class. It extends it with continence methods that allow to set or get CGI query params for HTTP request in uniform way independent of HTTP request method.

Each URI in GET requests may consist of two portions: URI of document/resource/etc and CGI query string. In HTTP::Request method uri doesn't separate them and operates on them as on single entity. In HTTP::WebTest::Request method uri is not allowed to modify HTTP request URI. Instead of it methods base_uri and params should be used to change or get these parts independently.

For POST requests method base_uri acts simular to uri. On the other hand params set content of HTTP request in case of POST requests.

CGI request parameters are defined in the way similar to CGI request parameters defenition in HTTP::Request::Common. It is an array of pairs

( name1 => value1, name2 => value2, ..., nameN => valueN )

If any value is passed as an array reference it is treated as file upload. See HTTP::Request::Common for more details.

By default GET type of HTTP request is assumed. But if CGI request parameters have data for file upload then POST type of HTTP request is assumed.

CLASS METHODS

base_uri($optional_uri)

Can set non CGI query portion of request URI if $optional_uri is passed.

Returns

Non CGI query portion of request URI.

uri($optional_uri)

Method uri is redefined. It is same as base_uri for non-GET request. For GET requests it returns URI with query parameters.

Returns

Whole URI.

content_ref

Method content_ref is redefined. For POST requests it returns POST query content corresponding to query parameters.

params($optional_params)

Can set CGI request parameters for this HTTP request object if an array reference $optional_params is passed.

Returns

An reference to an array that contains CGI request parameters.

COPYRIGHT

Copyright (c) 2001-2002 Ilya Martynov. All rights reserved.

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

SEE ALSO

HTTP::WebTest

HTTP::WebTest::API

HTTP::Request

HTTP::Request::Common