Skip to content
This repository
Browse code

Merge branch 'harakiri'

  • Loading branch information...
commit 49ff7e17d3066d3374b935290f49573506b66d43 2 parents 39b5168 + f9641b1
Tatsuhiko Miyagawa authored June 22, 2011
52  PSGI.pod
Source Rendered
@@ -256,53 +256,6 @@ style delayed response and streaming writer object.
256 256
 
257 257
 =back
258 258
 
259  
-The PSGI environment B<MAY> also include the following additional
260  
-extensions. They are B<OPTIONAL> and applications and middleware
261  
-components B<SHOULD> check if they exist in the environment before
262  
-using it.
263  
-
264  
-=over 4
265  
-
266  
-=item *
267  
-
268  
-C<psgix.io>: The raw IO socket to access the client connection to do
269  
-low-level socket operations. This is only available in PSGI servers
270  
-that run as an HTTP server, and should be used when (and only when)
271  
-you want to I<jailbreak> out of PSGI abstraction, to implement
272  
-protocols over HTTP such as BOSH or WebSocket.
273  
-
274  
-=item *
275  
-
276  
-C<psgix.input.buffered>: A boolean which is true if the HTTP request
277  
-body (for POST or PUT requests) is buffered using a temporary
278  
-filehandle or PerlIO in C<psgi.input>. When this is set, applications
279  
-or middleware components can safely C<read> from C<psgi.input> without
280  
-worrying about non-blocking I/O and then can call C<seek> to rewind
281  
-the input for the transparent access.
282  
-
283  
-=item *
284  
-
285  
-C<psgix.logger>: A code reference to log messages. The code reference
286  
-is passed one argument as a hash reference that represents a message
287  
-to be logged. The hash reference B<MUST> include at least two keys:
288  
-C<level> and C<message> where C<level> B<MUST> be one of the following
289  
-strings: C<debug>, C<warn>, C<info>, C<error> and C<fatal>. C<message>
290  
-B<SHOULD> be a plain string or a scalar variable that stringifies.
291  
-
292  
-=item *
293  
-
294  
-C<psgix.session>: A hash reference for storing and retrieving session
295  
-data. Updates made on this hash reference B<SHOULD> be persisted by
296  
-middleware components and B<SHOULD> be restored in the succeeding
297  
-requests. How to persist and restore session data, as well as how to
298  
-identify the requesting clients are implementation specific.
299  
-
300  
-C<psgix.session.options>: A hash reference to tell Middleware
301  
-components how to manipulate session data after the request.
302  
-Acceptable keys and values are implementation specific.
303  
-
304  
-=back
305  
-
306 259
 The server or the application can store its own data in the
307 260
 environment as well. These keys B<MUST> contain at least one dot, and
308 261
 B<SHOULD> be prefixed uniquely.
@@ -310,7 +263,8 @@ B<SHOULD> be prefixed uniquely.
310 263
 The C<psgi.> prefix is reserved for use with the PSGI core
311 264
 specification, and C<psgix.> prefix is reserved for officially blessed
312 265
 extensions. These prefixes B<MUST NOT> be used by other servers or
313  
-application.
  266
+application. See L<psgi-extensions|PSGI::Extentions> for the list of
  267
+officially approved extentions.
314 268
 
315 269
 The environment B<MUST NOT> contain keys named C<HTTP_CONTENT_TYPE> or
316 270
 C<HTTP_CONTENT_LENGTH>.
@@ -691,7 +645,7 @@ order):
691 645
 
692 646
 =head1 COPYRIGHT AND LICENSE
693 647
 
694  
-Copyright Tatsuhiko Miyagawa, 2009-2010.
  648
+Copyright Tatsuhiko Miyagawa, 2009-2011.
695 649
 
696 650
 This document is licensed under the Creative Commons license by-sa.
697 651
 
70  PSGI/Extentions.pod
Source Rendered
... ...
@@ -0,0 +1,70 @@
  1
+=head1 NAME
  2
+
  3
+PSGI::Extensions - PSGI extentions
  4
+
  5
+=head1 SPECIFICATION
  6
+
  7
+The PSGI environment B<MAY> include the following additional
  8
+extensions. They are B<OPTIONAL> and applications and middleware
  9
+components B<SHOULD> check if they exist in the environment before
  10
+using the functionality provided.
  11
+
  12
+=over 4
  13
+
  14
+=item *
  15
+
  16
+C<psgix.io>: The raw IO socket to access the client connection to do
  17
+low-level socket operations. This is only available in PSGI servers
  18
+that run as an HTTP server, and should be used when (and only when)
  19
+you want to I<jailbreak> out of PSGI abstraction, to implement
  20
+protocols over HTTP such as BOSH or WebSocket.
  21
+
  22
+=item *
  23
+
  24
+C<psgix.input.buffered>: A boolean which is true if the HTTP request
  25
+body (for POST or PUT requests) is buffered using a temporary
  26
+filehandle or PerlIO in C<psgi.input>. When this is set, applications
  27
+or middleware components can safely C<read> from C<psgi.input> without
  28
+worrying about non-blocking I/O and then can call C<seek> to rewind
  29
+the input for the transparent access.
  30
+
  31
+=item *
  32
+
  33
+C<psgix.logger>: A code reference to log messages. The code reference
  34
+is passed one argument as a hash reference that represents a message
  35
+to be logged. The hash reference B<MUST> include at least two keys:
  36
+C<level> and C<message> where C<level> B<MUST> be one of the following
  37
+strings: C<debug>, C<warn>, C<info>, C<error> and C<fatal>. C<message>
  38
+B<SHOULD> be a plain string or a scalar variable that stringifies.
  39
+
  40
+=item *
  41
+
  42
+C<psgix.session>: A hash reference for storing and retrieving session
  43
+data. Updates made on this hash reference B<SHOULD> be persisted by
  44
+middleware components and B<SHOULD> be restored in the succeeding
  45
+requests. How to persist and restore session data, as well as how to
  46
+identify the requesting clients are implementation specific.
  47
+
  48
+C<psgix.session.options>: A hash reference to tell Middleware
  49
+components how to manipulate session data after the request.
  50
+Acceptable keys and values are implementation specific.
  51
+
  52
+=item *
  53
+
  54
+C<psgix.harakiri>: A boolean which is true if the PSGI server supports
  55
+harakiri mode, that kills a worker (typically a forked child process)
  56
+after the current request is complete.
  57
+
  58
+C<psgix.harakiri.commit>: A boolean which is set to true by the PSGI
  59
+application or middleware when it wants the server to kill the worker
  60
+after the current request.
  61
+
  62
+=back
  63
+
  64
+=head1 COPYRIGHT AND LICENSE
  65
+
  66
+Copyright Tatsuhiko Miyagawa, 2009-2011.
  67
+
  68
+This document is licensed under the Creative Commons license by-sa.
  69
+
  70
+=cut

0 notes on commit 49ff7e1

Please sign in to comment.
Something went wrong with that request. Please try again.