as it's been removed from core. RT#84787
- New support for closing over the PSGI $writer object, useful for working
with event loops.
-
+ - lets you access a psgix.io socket, if your server supports it, for manual
+ handling of the client - server communication, such as for websockets.
5.90030 - 2013-04-12
! POSSIBLE BREAKING CHANGE: Removed Regexp dispatch type from core, and put
$c->log->error($error);
}
+ # Support skipping finalize for psgix.io style 'jailbreak'. Used to support
+ # stuff like cometd and websockets
+
+ return if $c->request->has_io_fh;
+
# Allow engine to handle finalize flow (for POE)
my $engine = $c->engine;
if ( my $code = $engine->can('finalize') ) {
required => 1,
);
+has io_fh => (
+ is=>'ro',
+ predicate=>'has_io_fh',
+ lazy=>1,
+ builder=>'_build_io_fh');
+
+ sub _build_io_fh {
+ my $self = shift;
+ return $self->env->{'psgix.io'}
+ || die "Your Server does not support psgix.io";
+ };
+
+
# Amount of data to read from input on each pass
our $CHUNKSIZE = 64 * 1024;
Shortcut to $req->headers->user_agent. Returns the user agent (browser)
version string.
+=head2 $req->io_fh
+
+Returns a psgix.io bidirectional socket, if your server supports one. Used for
+when you want to jailbreak out of PSGI and handle bidirectional client server
+communication manually, such as when you are using cometd or websockets.
+
=head1 SETUP METHODS
You should never need to call these yourself in application code,
has write_fh => (
is=>'ro',
predicate=>'has_write_fh',
- lazy_build=>1);
+ lazy=>1,
+ builder=>'_build_write_fh');
sub _build_write_fh {
my $self = shift;
wiki bitmask uri url urls dir hostname proxied http https IP SSL
inline INLINE plugins cpanfile
FastCGI Stringifies Rethrows DispatchType Wishlist Refactor ROADMAP HTTPS Unescapes Restarter Nginx Refactored
- ActionClass LocalRegex LocalRegexp MyAction metadata
+ ActionClass LocalRegex LocalRegexp MyAction metadata cometd io psgix websockets
Andreas
Ashton
Axel