.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Continuity::Request 3" .TH Continuity::Request 3 "2010-06-01" "perl v5.14.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Continuity::Request \- Simple HTTP::Request\-like API for requests inside Continuity .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 4 \& sub main { \& my $request = shift; \& $request\->print("Hello!"); \& $request\->next; \& \& # ... \& \& $name = $request\->param(\*(Aqname\*(Aq); \& } .Ve .SH "METHODS" .IX Header "METHODS" .ie n .SS "$request\->next" .el .SS "\f(CW$request\fP\->next" .IX Subsection "$request->next" Suspend execution until a new Web request is available. .ie n .SS "$val = $request\->param('name');" .el .SS "\f(CW$val\fP = \f(CW$request\fP\->param('name');" .IX Subsection "$val = $request->param('name');" .ie n .SS "@vals = $request\->param('name');" .el .SS "\f(CW@vals\fP = \f(CW$request\fP\->param('name');" .IX Subsection "@vals = $request->param('name');" .ie n .SS "@vals = $request\->param('name1', 'name2');" .el .SS "\f(CW@vals\fP = \f(CW$request\fP\->param('name1', 'name2');" .IX Subsection "@vals = $request->param('name1', 'name2');" Fetch a \s-1CGI\s0 \s-1POST/GET\s0 parameter. .PP If there is more than one parameter with the given name, then scalar context gets the first instance and list context gets all of them. Providing multiple param names will return the values for each (and if one of the params has multiple values then it will be confusing!). .PP Calling the param method with no parameters is equivalent to calling the params method. .ie n .SS "%params = $request\->\fIparams()\fP;" .el .SS "\f(CW%params\fP = \f(CW$request\fP\->\fIparams()\fP;" .IX Subsection "%params = $request->params();" .ie n .SS "@params = $request\->\fIparams()\fP;" .el .SS "\f(CW@params\fP = \f(CW$request\fP\->\fIparams()\fP;" .IX Subsection "@params = $request->params();" Get a list of all key/value pairs. Repeated values are included, but if you treat it like a hash it will act like one. .ie n .SS "$request\->print(""Foo!
"");" .el .SS "\f(CW$request\fP\->print(``Foo!
'');" .IX Subsection "$request->print(Foo!
);" Write output (eg, \s-1HTML\s0). .PP Since Continuity juggles many concurrent requests, it's necessary to explicitly refer to requesting clients, like \f(CW\*(C`$request\->print(...)\*(C'\fR, rather than simply doing \f(CW\*(C`print ...\*(C'\fR. .ie n .SS "$request\->set_cookie(\s-1CGI\-\s0>cookie(...));" .el .SS "\f(CW$request\fP\->set_cookie(\s-1CGI\-\s0>cookie(...));" .IX Subsection "$request->set_cookie(CGI->cookie(...));" .ie n .SS "$request\->set_cookie(name => 'value');" .el .SS "\f(CW$request\fP\->set_cookie(name => 'value');" .IX Subsection "$request->set_cookie(name => 'value');" Set a cookie to be sent out with the headers, next time the headers go out (next request if data has been written to the client already, otherwise this request). (May not yet be supported by the FastCGI adapter yet.) .ie n .SS "$request\->uri;" .el .SS "\f(CW$request\fP\->uri;" .IX Subsection "$request->uri;" Straight from HTTP::Request, returns a \s-1URI\s0 object. (Probably not yet supported by the FastCGI adapter.) .ie n .SS "$request\->method;" .el .SS "\f(CW$request\fP\->method;" .IX Subsection "$request->method;" Returns '\s-1GET\s0', '\s-1POST\s0', or whatever other \s-1HTTP\s0 command was issued. Continuity currently punts on anything but \s-1GET\s0 and \s-1POST\s0 out of paranoia. .ie n .SS "$request\->send_headers(""X\-HTTP\-Header: blah\en"", $h2)" .el .SS "\f(CW$request\fP\->send_headers(``X\-HTTP\-Header: blah\en'', \f(CW$h2\fP)" .IX Subsection "$request->send_headers(X-HTTP-Header: blahn, $h2)" Send this in the headers .SH "INTERNAL METHODS" .IX Header "INTERNAL METHODS" .ie n .SS "$request\->send_basic_header;" .el .SS "\f(CW$request\fP\->send_basic_header;" .IX Subsection "$request->send_basic_header;" Continuity does this for you, but it's still part of the \s-1API\s0 of Continuity::Request objects. .ie n .SS "$request\->end_request;" .el .SS "\f(CW$request\fP\->end_request;" .IX Subsection "$request->end_request;" Ditto above. .ie n .SS "$request\->send_static;" .el .SS "\f(CW$request\fP\->send_static;" .IX Subsection "$request->send_static;" Controlled by the \f(CW\*(C`staticp => sub { ... }\*(C'\fR argument pair to the main constructor call to \f(CW\*(C`Continuity\->new()\*(C'\fR. .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module contains no actual code. It only establishes and documents the interface actually implemented in Continuity::Adapt::FCGI, Continuity::Adapt::HttpDaemon, and, perhaps eventually, other places. .SH "SEE ALSO" .IX Header "SEE ALSO" .IP "Continuity" 1 .IX Item "Continuity" .PD 0 .IP "Continuity::Adapt::FCGI" 1 .IX Item "Continuity::Adapt::FCGI" .IP "Continuity::Adapt::HttpDaemon" 1 .IX Item "Continuity::Adapt::HttpDaemon" .IP "Continuity::RequestCallbacks" 1 .IX Item "Continuity::RequestCallbacks"