logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Protocol::WebSocket::Request - WebSocket Request

Attributes

"host""key1""key2""number1""number2""origin""resource_name"

Description

       Construct or parse a WebSocket request.

Methods

"new"
       Create a new Protocol::WebSocket::Request instance.

   "new_from_psgi"
           my $env = {
               HTTP_HOST => 'example.com',
               HTTP_CONNECTION => 'Upgrade',
               ...
           };
           my $req = Protocol::WebSocket::Request->new_from_psgi($env);

       Create a new Protocol::WebSocket::Request instance from PSGI environment.

   "parse"
           $req->parse($buffer);
           $req->parse($handle);

       Parse a WebSocket request. Incoming buffer is modified.

   "to_string"
       Construct a WebSocket request.

   "connection"
           $self->connection;

       A shortcut for "$self-"field('Connection')>.

   "cookies""upgrade"
           $self->upgrade;

       A shortcut for "$self-"field('Upgrade')>.

perl v5.34.0                                       2022-07-04                  Protocol::WebSocket::Request(3pm)

Name

       Protocol::WebSocket::Request - WebSocket Request

Synopsis

           # Constructor
           my $req = Protocol::WebSocket::Request->new(
               host          => 'example.com',
               resource_name => '/demo'
           );
           $req->to_string; # GET /demo HTTP/1.1
                            # Upgrade: WebSocket
                            # Connection: Upgrade
                            # Host: example.com
                            # Origin: http://example.com
                            # Sec-WebSocket-Key1: 32 0  3lD& 24+<    i u4  8! -6/4
                            # Sec-WebSocket-Key2: 2q 4  2  54 09064
                            #
                            # x#####

           # Parser
           my $req = Protocol::WebSocket::Request->new;
           $req->parse("GET /demo HTTP/1.1\x0d\x0a");
           $req->parse("Upgrade: WebSocket\x0d\x0a");
           $req->parse("Connection: Upgrade\x0d\x0a");
           $req->parse("Host: example.com\x0d\x0a");
           $req->parse("Origin: http://example.com\x0d\x0a");
           $req->parse(
               "Sec-WebSocket-Key1: 18x 6]8vM;54 *(5:  {   U1]8  z [  8\x0d\x0a");
           $req->parse(
               "Sec-WebSocket-Key2: 1_ tx7X d  <  nw  334J702) 7]o}` 0\x0d\x0a");
           $req->parse("\x0d\x0aTm[K T2u");

See Also