The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Furl::Request - Request object for Furl

SYNOPSIS

    my $f = Furl->new;
    my $req = Furl::Request->new($method, $uri, $headers, $content);
    my $res = $f->request($req);

    print $req->request_line, "\n";
    my $http_req = $req->as_http_request;
    my $req_hash = $req->as_hashref;

DESCRIPTION

This is a HTTP request object in Furl.

CONSTRUCTOR

    my $req = Furl::Request->new($method, $uri);
    # or
    my $req = Furl::Request->new($method, $uri, \%headers);
    # or
    my $req = Furl::Request->new($method, $uri, \%headers, $content);

    # and

    my $req = Furl::Request->parse($http_request_raw_string);

INSTANCE METHODS

$req->method($method)

Gets/Sets HTTP request method

$req->uri($uri)

Gets/Sets request URI

$req->headers($headers)

Gets/Sets instance of Furl::Headers

$req->content($content)
$req->body($content)

Gets/Sets request body in scalar.

$req->protocol($protocol)
    $req->protocol('HTTP/1.1');
    print $req->protocol; #=> "HTTP/1.1"

Gets/Sets HTTP protocol in string.

$req->content_length
$req->content_type
$req->header

Shorthand to access Furl::Headers.

$req->as_http_request

Make instance of HTTP::Request from Furl::Request.

$req->as_hashref

Convert request object to HashRef.

Format is following:

    method: Str
    uri: Str
    protocol: Str
    headers: ArrayRef[Str]
    content: Str
$req->request_line
    print $req->request_line; #=> "GET / HTTP/1.1"

Returns HTTP request line.