aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/manual/cowboy_websocket.asciidoc
AgeCommit message (Collapse)Author
2017-10-02Document cow_ws:frame in Cowboy for nowLoïc Hoguin
2017-09-04Fix more documentation todosLoïc Hoguin
I have decided not to include a manual page for cowboy_stream_h at this point because it clashes with the cowboy_stream manual page. This decision will be revisited in the future.
2017-05-28Introduce the req_filter Websocket optionLoïc Hoguin
This option allows customizing the compacting of the Req object when using Websocket. By default it will keep most public fields excluding headers of course, since those can be large.
2017-02-18Allow passing options to sub protocolsLoïc Hoguin
Before this commit we had an issue where configuring a Websocket connection was simply not possible without doing magic, adding callbacks or extra return values. The init/2 function only allowed setting hibernate and timeout options. After this commit, when switching to a different type of handler you can either return {module, Req, State} or {module, Req, State, Opts} where Opts is any value (as far as the sub protocol interface is concerned) and is ultimately checked by the custom handlers. A large protocol like Websocket would accept only a map there, with many different options, while a small interface like loop handlers would allow passing hibernate and nothing else. For Websocket, hibernate must be set from the websocket_init/1 callback, because init/2 executes in a separate process. Sub protocols now have two callbacks: one with the Opts value, one without. The loop handler code was largely reworked and simplified. It does not need to manage a timeout or read from the socket anymore, it's the job of the protocol code. A lot of unnecessary stuff was therefore removed. Websocket compression must now be enabled from the handler options instead of per listener. This means that a project can have two separate Websocket handlers with different options. Compression is still disabled by default, and the idle_timeout value was changed from inifnity to 60000 (60 seconds), as that's safer and is also a good value for mobile devices.
2016-12-23Update cowboy_loop manualLoïc Hoguin
2016-12-23Update the cowboy_handler manualLoïc Hoguin
Also fixes a small mistake in cowboy_websocket.
2016-12-22Update cowboy_websocket_manualLoïc Hoguin
2016-08-31Update websocket documentation: based on ↵Alex Prut
https://github.com/ninenines/cowboy/blob/master/examples/websocket/src/ws_handler.erl
2016-01-14Convert the documentation to AsciidocLoïc Hoguin
A few small revisions were made, and Erlang.mk has been updated.