#!./uwsgi --plugins http,0:psgi,coroae --https :443,foobar.crt,foobar.key --http-websockets --coroae 40 --psgi tests/websockets_echo.pl my $app = sub { my $env = shift; my $ws_scheme = 'ws'; if (exists($env->{HTTPS}) || $env['psgi.url_scheme'] eq 'https') { $ws_scheme = 'wss'; } if ($env->{PATH_INFO} eq '/') { my $body = <

WebSocket

EOF return ['200', ['Content-Type' => 'text/html'], [$body]]; } elsif ($env->{PATH_INFO} eq '/foobar/') { uwsgi::websocket_handshake($env->{HTTP_SEC_WEBSOCKET_KEY}, $env->{HTTP_ORIGIN}); print "websockets...\n"; while(1) { my $msg = uwsgi::websocket_recv; uwsgi::websocket_send('['.time().'] '.$msg); } } }