Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / Catalyst::Engine.3pm
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  | will give a
29 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
32 .tr \(*W-|\(bv\*(Tr
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
58 ..
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .if n .na
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101 .\}
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
117 \{\
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
127 .\}
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
130 .\"
131 .IX Title "Catalyst::Engine 3"
132 .TH Catalyst::Engine 3 "2009-12-02" "perl v5.8.7" "User Contributed Perl Documentation"
133 .SH "NAME"
134 Catalyst::Engine \- The Catalyst Engine
135 .SH "SYNOPSIS"
136 .IX Header "SYNOPSIS"
137 See Catalyst.
138 .SH "DESCRIPTION"
139 .IX Header "DESCRIPTION"
140 .SH "METHODS"
141 .IX Header "METHODS"
142 .Sh "$self\->finalize_body($c)"
143 .IX Subsection "$self->finalize_body($c)"
144 Finalize body.  Prints the response output.
145 .Sh "$self\->finalize_cookies($c)"
146 .IX Subsection "$self->finalize_cookies($c)"
147 Create CGI::Simple::Cookie objects from \f(CW$c\fR\->res\->cookies, and set them as
148 response headers.
149 .Sh "$self\->finalize_error($c)"
150 .IX Subsection "$self->finalize_error($c)"
151 Output an appropriate error message. Called if there's an error in \f(CW$c\fR
152 after the dispatch has finished. Will output debug messages if Catalyst
153 is in debug mode, or a `please come back later` message otherwise.
154 .Sh "$self\->finalize_headers($c)"
155 .IX Subsection "$self->finalize_headers($c)"
156 Abstract method, allows engines to write headers to response
157 .Sh "$self\->finalize_read($c)"
158 .IX Subsection "$self->finalize_read($c)"
159 .Sh "$self\->finalize_uploads($c)"
160 .IX Subsection "$self->finalize_uploads($c)"
161 Clean up after uploads, deleting temp files.
162 .Sh "$self\->prepare_body($c)"
163 .IX Subsection "$self->prepare_body($c)"
164 sets up the Catalyst::Request object body using HTTP::Body
165 .Sh "$self\->prepare_body_chunk($c)"
166 .IX Subsection "$self->prepare_body_chunk($c)"
167 Add a chunk to the request body.
168 .Sh "$self\->prepare_body_parameters($c)"
169 .IX Subsection "$self->prepare_body_parameters($c)"
170 Sets up parameters from body.
171 .Sh "$self\->prepare_connection($c)"
172 .IX Subsection "$self->prepare_connection($c)"
173 Abstract method implemented in engines.
174 .Sh "$self\->prepare_cookies($c)"
175 .IX Subsection "$self->prepare_cookies($c)"
176 Parse cookies from header. Sets a CGI::Simple::Cookie object.
177 .Sh "$self\->prepare_headers($c)"
178 .IX Subsection "$self->prepare_headers($c)"
179 .Sh "$self\->prepare_parameters($c)"
180 .IX Subsection "$self->prepare_parameters($c)"
181 sets up parameters from query and post parameters.
182 .Sh "$self\->prepare_path($c)"
183 .IX Subsection "$self->prepare_path($c)"
184 abstract method, implemented by engines.
185 .Sh "$self\->prepare_request($c)"
186 .IX Subsection "$self->prepare_request($c)"
187 .Sh "$self\->prepare_query_parameters($c)"
188 .IX Subsection "$self->prepare_query_parameters($c)"
189 process the query string and extract query parameters.
190 .Sh "$self\->prepare_read($c)"
191 .IX Subsection "$self->prepare_read($c)"
192 prepare to read from the engine.
193 .Sh "$self\->prepare_request(@arguments)"
194 .IX Subsection "$self->prepare_request(@arguments)"
195 Populate the context object from the request object.
196 .Sh "$self\->prepare_uploads($c)"
197 .IX Subsection "$self->prepare_uploads($c)"
198 .Sh "$self\->prepare_write($c)"
199 .IX Subsection "$self->prepare_write($c)"
200 Abstract method. Implemented by the engines.
201 .Sh "$self\->read($c, [$maxlength])"
202 .IX Subsection "$self->read($c, [$maxlength])"
203 Reads from the input stream by calling \f(CW\*(C`$self\->read_chunk\*(C'\fR.
204 .PP
205 Maintains the read_length and read_position counters as data is read.
206 .ie n .Sh "$self\->read_chunk($c, $buffer\fP, \f(CW$length)"
207 .el .Sh "$self\->read_chunk($c, \f(CW$buffer\fP, \f(CW$length\fP)"
208 .IX Subsection "$self->read_chunk($c, $buffer, $length)"
209 Each engine implements read_chunk as its preferred way of reading a chunk
210 of data. Returns the number of bytes read. A return of 0 indicates that
211 there is no more data to be read.
212 .Sh "$self\->read_length"
213 .IX Subsection "$self->read_length"
214 The length of input data to be read.  This is obtained from the Content-Length
215 header.
216 .Sh "$self\->read_position"
217 .IX Subsection "$self->read_position"
218 The amount of input data that has already been read.
219 .Sh "$self\->run($c)"
220 .IX Subsection "$self->run($c)"
221 Start the engine. Implemented by the various engine classes.
222 .ie n .Sh "$self\->write($c, $buffer)"
223 .el .Sh "$self\->write($c, \f(CW$buffer\fP)"
224 .IX Subsection "$self->write($c, $buffer)"
225 Writes the buffer to the client.
226 .Sh "$self\->unescape_uri($uri)"
227 .IX Subsection "$self->unescape_uri($uri)"
228 Unescapes a given \s-1URI\s0 using the most efficient method available.  Engines such
229 as Apache may implement this using Apache's C\-based modules, for example.
230 .Sh "$self\->finalize_output"
231 .IX Subsection "$self->finalize_output"
232 <obsolete>, see finalize_body
233 .Sh "$self\->env"
234 .IX Subsection "$self->env"
235 Hash containing enviroment variables including many special variables inserted
236 by \s-1WWW\s0 server \- like SERVER_*, REMOTE_*, HTTP_* ...
237 .PP
238 Before accesing enviroment variables consider whether the same information is
239 not directly available via Catalyst objects \f(CW$c\fR\->request, \f(CW$c\fR\->engine ...
240 .PP
241 \&\s-1BEWARE:\s0 If you really need to access some enviroment variable from your Catalyst
242 application you should use \f(CW$c\fR\->engine\->env\->{\s-1VARNAME\s0} instead of \f(CW$ENV\fR{\s-1VARNAME\s0},
243 as in some enviroments the \f(CW%ENV\fR hash does not contain what you would expect.
244 .SH "AUTHORS"
245 .IX Header "AUTHORS"
246 Catalyst Contributors, see Catalyst.pm
247 .SH "COPYRIGHT"
248 .IX Header "COPYRIGHT"
249 This library is free software. You can redistribute it and/or modify it under
250 the same terms as Perl itself.