📄 apache2::requestutil.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 "mod_perl-2.0.2::docs::api::Apache2::RequestUtil 3".TH mod_perl-2.0.2::docs::api::Apache2::RequestUtil 3 "2005-10-21" "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"Apache2::RequestUtil \- Perl API for Apache request record utils.SH "Synopsis".IX Header "Synopsis".Vb 1\& use Apache2::RequestUtil ();\& \& # add httpd config dynamically\& $r\->add_config([\*(Aqrequire valid\-user\*(Aq]);\& \& # dump the request object as a string\& print $r\->as_string();\& \& # default content_type\& $content_type = $r\->default_type();\& \& # get PerlSetVar/PerlAddVar values\& @values = $r\->dir_config\->get($key);\& \& # get server docroot\& $docroot = $r\->document_root();\& \& # set server docroot\& $r\->document_root($new_root);\& \& # what are the registered perl handlers for a given phase\& my @handlers = @{ $r\->get_handlers(\*(AqPerlResponseHandler\*(Aq) || [] };\& \& # push a new handler for a given phase\& $r\->push_handlers(PerlCleanupHandler => \e&handler);\& \& # set handlers for a given phase (resetting previous values)\& $r\->set_handlers(PerlCleanupHandler => []);\& \& # what\*(Aqs the request body limit\& $limit = $r\->get_limit_req_body();\& \& # server and port names\& $server = $r\->get_server_name();\& $port = $r\->get_server_port();\& \& # what string Apache is going to send for a given status code\& $status_line = Apache2::RequestUtil::get_status_line(404);\& \& # are we in the main request?\& $is_initial = $r\->is_initial_req();\& \& # directory level PerlOptions flags lookup\& $r\->subprocess_env unless $r\->is_perl_option_enabled(\*(AqSetupEnv\*(Aq);\& \& # current <Location> value\& $location = $r\->location();\& \& # merge a <Location> container in a request object\& $r\->location_merge($location);\& \& # create a new Apache2::RequestRec object\& $r = Apache2::RequestRec\->new($c);\& \& # tell the client not to cache the response\& $r\->no_cache($boolean);\& \& # share perl objects like $r\->notes\& $r\->pnotes($key => [$obj1, $obj2]);\& \& # get HTML signature\& $sig = $r\->psignature($prefix);\& \& # get the global request object (requires PerlOptions +GlobalRequest)\& $r = Apache2::RequestUtil\->request;\& \& # insert auth credentials into the request as if the client did that\& $r\->set_basic_credentials($username, $password);\& \& # slurp the contents of $r\->filename\& my $content = ${ $r\->slurp_filename() };\& \& # terminate the current child after this request\& $r\->child_terminate();.Ve.SH "Description".IX Header "Description"\&\f(CW\*(C`Apache2::RequestUtil\*(C'\fR provides the Apache requestobject utilities \s-1API\s0..SH "API".IX Header "API".ie n .Sh """add_config""".el .Sh "\f(CWadd_config\fP".IX Subsection "add_config"Dynamically add Apache configuration at request processing runtime:.PP.Vb 2\& $r\->add_config($lines);\& $r\->add_config($lines, $override);.Ve.ie n .IP "obj: $r\fR ( \f(CW""Apache2::RequestRec object"" )" 4.el .IP "obj: \f(CW$r\fR ( \f(CWApache2::RequestRec object\fR )" 4.IX Item "obj: $r ( Apache2::RequestRec object )".PD 0.ie n .IP "arg1: $lines (\s-1ARRAY\s0 ref)" 4.el .IP "arg1: \f(CW$lines\fR (\s-1ARRAY\s0 ref)" 4.IX Item "arg1: $lines (ARRAY ref)".PDAn \s-1ARRAY\s0 reference containing configuration lines per element, withoutthe new line terminators..ie n .IP "opt arg2: $override\fR ( \f(CW""APR::Const status constant"" )" 4.el .IP "opt arg2: \f(CW$override\fR ( \f(CWAPR::Const status constant\fR )" 4.IX Item "opt arg2: $override ( APR::Const status constant )"Which allow-override bits are set.SpDefault value is:\&\f(CW\*(C`Apache2::Const::OR_AUTHCFG\*(C'\fR.IP "ret: no return value" 4.IX Item "ret: no return value".PD 0.IP "since: 2.0.00" 4.IX Item "since: 2.0.00".PD.PPSee also:\&\f(CW\*(C`$s\->add_config\*(C'\fR.PPFor example:.PP.Vb 2\& use Apache2::ServerUtil ();\& $r\->add_config([\*(Aqrequire valid\-user\*(Aq]);.Ve.ie n .Sh """as_string""".el .Sh "\f(CWas_string\fP".IX Subsection "as_string"Dump the request object as a string.PP.Vb 1\& $dump = $r\->as_string();.Ve.ie n .IP "obj: $r\fR ( \f(CW""Apache2::RequestRec object"" )" 4.el .IP "obj: \f(CW$r\fR ( \f(CWApache2::RequestRec object\fR )" 4.IX Item "obj: $r ( Apache2::RequestRec object )".PD 0.ie n .IP "ret: $dump ( string )" 4.el .IP "ret: \f(CW$dump\fR ( string )" 4.IX Item "ret: $dump ( string )".IP "since: 2.0.00" 4.IX Item "since: 2.0.00".PD.PPDumps various request and response headers (mainly useful fordebugging).ie n .Sh """child_terminate""".el .Sh "\f(CWchild_terminate\fP".IX Subsection "child_terminate"Terminate the current worker process as soon as the current request isover.PP.Vb 1\& $r\->child_terminate();.Ve.ie n .IP "obj: $r\fR ( \f(CW""Apache2::RequestRec object"" )" 4.el .IP "obj: \f(CW$r\fR ( \f(CWApache2::RequestRec object\fR )" 4.IX Item "obj: $r ( Apache2::RequestRec object )".PD 0.IP "ret: no return value" 4.IX Item "ret: no return value".IP "since: 2.0.00" 4.IX Item "since: 2.0.00".PD.PPThis method is not supported in threaded MPMs.ie n .Sh """default_type""".el .Sh "\f(CWdefault_type\fP".IX Subsection "default_type"Retrieve the value of the DefaultType directive for the currentrequest. If not set \f(CW\*(C`text/plain\*(C'\fR is returned..PP.Vb 1\& $content_type = $r\->default_type();.Ve.ie n .IP "obj: $r\fR ( \f(CW""Apache2::RequestRec object"" )" 4.el .IP "obj: \f(CW$r\fR ( \f(CWApache2::RequestRec object\fR )" 4.IX Item "obj: $r ( Apache2::RequestRec object )"The current request.ie n .IP "ret: $content_type ( string )" 4.el .IP "ret: \f(CW$content_type\fR ( string )" 4.IX Item "ret: $content_type ( string )"The default type.IP "since: 2.0.00" 4.IX Item "since: 2.0.00".ie n .Sh """dir_config""".el .Sh "\f(CWdir_config\fP".IX Subsection "dir_config"\&\f(CW\*(C`$r\->dir_config()\*(C'\fR provides an interface for the per-directoryvariable specified by the \f(CW\*(C`PerlSetVar\*(C'\fR and \f(CW\*(C`PerlAddVar\*(C'\fR directives,and also can be manipulated via the\&\f(CW\*(C`APR::Table\*(C'\fR methods..PP.Vb 4\& $table = $r\->dir_config();\& $value = $r\->dir_config($key);\& @values = $r\->dir_config\->get($key);\& $r\->dir_config($key, $val);.Ve.ie n .IP "obj: $r\fR ( \f(CW""Apache2::RequestRec object"" )" 4.el .IP "obj: \f(CW$r\fR ( \f(CWApache2::RequestRec object\fR )" 4.IX Item "obj: $r ( Apache2::RequestRec object )".PD 0.ie n .IP "opt arg2: $key ( string )" 4.el .IP "opt arg2: \f(CW$key\fR ( string )" 4.IX Item "opt arg2: $key ( string )".PDKey string.ie n .IP "opt arg3: $val ( string )" 4.el .IP "opt arg3: \f(CW$val\fR ( string )" 4.IX Item "opt arg3: $val ( string )"Value string.IP "ret: ..." 4.IX Item "ret: ..."Depends on the passed arguments, see further discussion.IP "since: 2.0.00" 4.IX Item "since: 2.0.00".PPThe keys are case-insensitive..PP.Vb 1\& $apr_table = $r\->dir_config();.Ve.PP\&\fIdir_config()\fR called in a scalar context without the \f(CW$key\fR argumentreturns a \fI\s-1HASH\s0\fR reference blessed into the\&\f(CW\*(C`APR::Table\*(C'\fR class. This object can bemanipulated via the \f(CW\*(C`APR::Table\*(C'\fRmethods. For available methods seethe \f(CW\*(C`APR::Table\*(C'\fR manpage..PP.Vb 1\& $value = $r\->dir_config($key);.Ve.PPIf the \f(CW$key\fR argument is passed in the scalar context only a singlevalue will be returned. Since the table preserves the insertion order,if there is more than one value for the same key, the oldest valueassosiated with the desired key is returned. Calling in the scalarcontext is also much faster, as it'll stop searching the table as soonas the first match happens..PP.Vb 1\& @values = $r\->dir_config\->get($key);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -