📄 apr::request.3
字号:
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05).\".\" Standard preamble:.\" ========================================================================.de Sh \" Subsection heading.br.if t .Sp.ne 5.PP\fB\\$1\fR.PP...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 (.Sh), 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 "Request 3".TH Request 3 "2008-01-23" "perl v5.10.0" "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"APR::Request \- wrapper for libapreq2's module/handle API..PPbody1\&\-\-\-XYZ\-Content\-Disposition: form\-data; name="beta" filename="foo.txt"Content\-Type: text/plain; charset=us\-ascii.PPbody2\&\-\-\-XYZ\-Content\-Disposition: form\-data; name="foo"Content\-Type: text/plain; charset=us\-ascii.PPbody3\&\-\-\-XYZ\-\-\-EOT s/(?<!\e015)\e012/\e015\e012/g for $content; $bb\->insert_tail(APR::Bucket\->new($ba, $content)); $parser = APR::Request::Parser\->multipart($pool, $ba, "multipart/form\-data; boundary=\-XYZ\-");.SH "SYNOPSIS".IX Header "SYNOPSIS".Vb 1\& use APR::Request;\&\& $req = APR::Request::Custom\->handle($pool,\& "foo=arg1&bar=arg2",\& "apache=quux",\& $parser, 1e6, $bb);\& $param = $req\->param("foo");\& $cookie = $req\->jar("apache");.Ve.SH "DESCRIPTION".IX Header "DESCRIPTION"The \f(CW\*(C`APR::Request\*(C'\fR module provides the base methodsfor interfacing with libapreq2's module \s-1API\s0. It also providesa few utility functions and constants..PPThis manpage documents version 2.08of the APR::Request, APR::Request::Custom,APR::Request::Cookie::Table, andAPR::Request::Param::Table packages..SH "METHODS".IX Header "METHODS"APR::Request::Custom \- derived from APR::Request..Sh "handle".IX Subsection "handle".Vb 6\& APR::Request::Custom\->handle($pool,\& $query_string,\& $cookie_header,\& $parser,\& $read_limit,\& $brigade).Ve.PPCreates a new APR::Request::Custom object. The \f(CW$query_string\fRand \f(CW$cookie_headers\fR are immediately parsed into the \f(CW\*(C`args\*(C'\fR and\&\f(CW\*(C`jar\*(C'\fR tables. The \f(CW$parser\fR is an APR::Request::Parser objectwhich is invoked when fetching \f(CW\*(C`body\*(C'\fR entries from the \f(CW$brigade\fR.The \f(CW$read_limit\fR represents the maximum number of bytes this handlemay feed into the parser..SH "METHODS".IX Header "METHODS"APR::Request.Sh "pool".IX Subsection "pool".Vb 1\& $req\->pool().Ve.PPReturns the APR::Pool object associated to this handle..Sh "bucket_alloc".IX Subsection "bucket_alloc".Vb 1\& $req\->bucket_alloc().Ve.PPReturns the APR::BucketAlloc object associated to this handle..Sh "jar_status".IX Subsection "jar_status".Vb 1\& $req\->jar_status().Ve.PPReturns the final status code of the handle's cookie header parser..Sh "args_status".IX Subsection "args_status".Vb 1\& $req\->args_status().Ve.PPReturns the final status code of the handle's query-string parser..Sh "body_status".IX Subsection "body_status".Vb 1\& $req\->body_status().Ve.PPReturns the final status code of the handle's body parser..Sh "param_status".IX Subsection "param_status".Vb 1\& $req\->param_status().Ve.PPReturns \f(CW\*(C`($req\->args_status, $req\->body_status)\*(C'\fR in listcontext; otherwise returns \f(CW\*(C`$req\->args_status || $req\->body_status\*(C'\fR..Sh "parse".IX Subsection "parse".Vb 1\& $req\->parse().Ve.PPParses the jar, args, and body tables. Returns\&\f(CW\*(C`$req\->jar_status, $req\->args_status, $req\->body_status\*(C'\fR..PP.Vb 5\& @status = $req\->parse;\& ok @status == 3;\& ok $status[0] == $req\->jar_status;\& ok $status[1] == $req\->args_status;\& ok $status[2] == $req\->body_status;.Ve.Sh "jar".IX Subsection "jar".Vb 2\& $req\->jar()\& $req\->jar($key).Ve.PPWith no arguments, this method returns a tied APR::Request::Cookie::Tableobject (or undef if the \*(L"Cookie\*(R" header is absent) in scalar context, or the names (in order, with repetitions) of all the parsed cookies..PPWith the \f(CW$key\fR argument, in scalar context this method fetches the firstmatching cookie. In list context it returns all matching cookies.The returned cookies are the values as they appeared in the incomingCookie header..PP\&\fIjar()\fR will throw an APR::Request::Error object whenever \fIjar_status()\fR is non-zero and the return value is potentially invalid (eg\&\f(CW\*(C`scalar $req\->jar($key)\*(C'\fR will not die if the desired cookiewas successfully parsed)..PP.Vb 4\& $jar = $req\->jar;\& @cookie_names = $req\->jar;\& ok $jar\->isa("APR::Request::Cookie::Table");\& ok shift @cookie_names eq $_ for keys %$jar;\&\& $cookie = $req\->jar("apache");\& @cookies = $req\->jar("apache");.Ve.Sh "args".IX Subsection "args".Vb 2\& $req\->args()\& $req\->args($key).Ve.PPWith no arguments, this method returns a tied APR::Request::Param::Tableobject (or undef if the query string is absent) in scalar context, or the names (in order, with repetitions) of all the parsed query-string arguments..PPWith the \f(CW$key\fR argument, in scalar context this method fetches the firstmatching query-string arg. In list context it returns all matching args..PP\&\fIargs()\fR will throw an APR::Request::Error object whenever \fIargs_status()\fR is non-zero and the return value is potentially invalid (eg\&\f(CW\*(C`scalar $req\->args($key)\*(C'\fR will not die if the desired query argumentwas successfully parsed)..PP.Vb 4\& $args = $req\->args;\& @arg_names = $req\->args;\& ok $args\->isa("APR::Request::Param::Table");\& ok shift @arg_names eq $_ for keys %$args;\&\& $foo = $req\->args("foo");\& @bar = $req\->args("bar");.Ve.Sh "body".IX Subsection "body".Vb 2\& $req\->body()\& $req\->body($key).Ve.PPWith no arguments, this method returns a tied APR::Request::Param::Tableobject (or undef if the request body is absent) in scalar context, or the names (in order, with repetitions) of all the parsed cookies..PPWith the \f(CW$key\fR argument, in scalar context this method fetches the first
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -