WebSocket
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/WebSocket/Version.pm view on Meta::CPAN
sub new_from_request
{
my $self = shift( @_ );
my $class = ref( $self ) || $self;
my $req = shift( @_ ) || return( $self->error( "No WebSocket::Request object was provided." ) );
return( $self->error( "Object provided (", overload::StrVal( $req ), ") is not a WebSocket::Request object." ) ) if( !$self->_is_a( $req, 'WebSocket::Request' ) );
my $h = $req->headers || return( $self->error( "Unable to find the WebSocket::Headers object." ) );
unless( ref( $self ) )
{
$self = bless( {} => $class )->SUPER::init( @_ );
}
my $new;
# From version 4 onward
if( $h->header( 'Sec-WebSocket-Version' )->length ||
$h->header( 'Sec-WebSocket-Key' )->length )
{
if( $h->header( 'Sec-WebSocket-Version' )->length &&
$h->header( 'Sec-WebSocket-Version' )->match( qr/^\d{1,2}$/ ) )
{
$new = $self->new( $h->header( 'Sec-WebSocket-Version' )->scalar, debug => $self->debug ) || return( $self->pass_error );
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.005 second using v1.00-cache-2.02-grep-82fe00e-cpan-48ebf85a1963 )