gun_upgrade(3)

Name

gun_upgrade - Successful protocol upgrade

Description

{gun_upgrade, ConnPid, StreamRef, Protocols, Headers}

ConnPid   :: pid()
StreamRef :: reference()
Protocols :: [<<"websocket">>]
Headers   :: [{binary(), binary()}]

Successful protocol upgrade.

This message informs the relevant process that the server accepted to upgrade to one or more protocols given in the original request.

The exact semantics of this message depend on the original protocol. HTTP/1.1 upgrades apply to the entire connection. HTTP/2 uses a different mechanism which allows switching specific streams to a different protocol.

Gun currently only supports upgrading HTTP/1.1 connections to the Websocket protocol.

Elements

ConnPid

The pid of the Gun connection process.

StreamRef

Identifier of the stream that resulted in an upgrade.

Protocols

List of protocols this stream was upgraded to.

Headers

Headers sent with the upgrade response.

Changelog

  • 1.0: Message introduced.

Examples

Receive a gun_upgrade message in a gen_server
handle_info({gun_upgrade, ConnPid, _StreamRef,
             _Protocols, _Headers},
            State=#state{conn_pid=ConnPid}) ->
    %% Do something.
    {noreply, State}.

See also

gun(3), gun:ws_upgrade(3), gun:ws_send(3), gun_ws(3)

Gun 1.3 Function Reference

Navigation

Version select

Like my work? Donate!

Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:

Recurring payment options are also available via GitHub Sponsors. These funds are used to cover the recurring expenses like food, dedicated servers or domain names.