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

NAME

Any::Daemon::FCGI::Request - HTTP::Request with little extras

INHERITANCE

 Any::Daemon::FCGI::Request
   is a HTTP::Request

SYNOPSIS

# Instantiated by Any::Daemon::FCGI::ClientConn

DESCRIPTION

In the FCGI protocol, the web-site user's HTTP request is accompanied by some additional information about the front-end web-server. Also, the headers are processed into parameters HTTP_* and the body is fed to STDIN. The first thing this FCGI implementation does, is undoing this mutilation: bringing back a HTTP::Request. The additional information is provided via some additional attributes.

METHODS

Any::Daemon::FCGI::Request->new(%options)

Create a new request object. This method is called by Any::Daemon::FCGI::ClientConn each time it has collected all the data for a new incoming message. You probably should not call this yourself.

 -Option    --Default
  data        undef
  params      <required>
  request_id  <required>
  role        <required>
  stdin       <required>
data => SCALAR

(Ref to string), the additional data for FILTER requests.

params => HASH

The parameters received from the client.

request_id => INTEGER

Sequence number as used in the FCGI protocol (always > 0, will get reused).

role => 'RESPONDER'|'AUTHORIZER'|'FILTER'
stdin => SCALAR

(Ref to string), the body of the message. We use references to avoid copying huge strings.

Accessors

$obj->data()

Returns a reference to the request data. The params may contain the modification data as FCGI_DATA_LAST_MOD.

$obj->param($name)
$obj->params()
$obj->request_id()
$obj->role()

SEE ALSO

This module is part of Any-Daemon-HTTP distribution version 0.30, built on April 06, 2020. Website: http://perl.overmeer.net/any-daemon/

LICENSE

Copyrights 2013-2020 by [Mark Overmeer]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/