Skip to content

Latest commit

 

History

History
176 lines (106 loc) · 6.67 KB

elli_ws_request_adapter.md

File metadata and controls

176 lines (106 loc) · 6.67 KB

Module elli_ws_request_adapter

Elli WebSocket Request Adapter.

Copyright (c) 2013, Maas-Maarten Zeeman; 2018, elli-lib team

Authors: Maas-Maarten Zeeman (mmzeeman@xs4all.nl).

Data Types


req() = #req_adapter{req = elli:req(), resp_compress = boolean(), resp_headers = elli:headers(), sent_upgrade_reply = boolean(), websocket_version = undefined | integer(), websocket_compress = boolean()}

Function Index

ensure_response/2Mimics cowboy_req:ensure_response/2.
get/2Mimics cowboy_req:get/2.
header/2Mimics cowboy_req:header/2.
init/2Initialize the request helper.
maybe_reply/2Mimics cowboy_req:maybe_reply/2.
messages/1Atoms used to identify messages in {active, once | true} mode.
parse_header/2Mimics cowboy_req:parse_header/3 {ok, ParsedHeaders, Req}.
set_meta/3Mimics cowboy_req:set_meta/3.
upgrade_reply/3
websocket_handler_callback/5Calls websocket_info en websocket_handle callbacks.
websocket_handler_handle_event/5Report an event...
websocket_handler_init/3Call the websocket_init callback of the websocket handler.

Function Details

ensure_response/2


ensure_response(ReqAdapter::req(), X2::400) -> ok

Mimics cowboy_req:ensure_response/2

get/2


get(L::atom() | list(), ReqAdapter::req()) -> any() | list()

Mimics cowboy_req:get/2

header/2

header(X1, Req_adapter) -> any()

Mimics cowboy_req:header/2

init/2


init(Req::elli:req(), RespCompress::boolean()) -> req()

Initialize the request helper

maybe_reply/2


maybe_reply(X1::400, ReqAdapter::req()) -> ok

Mimics cowboy_req:maybe_reply/2

messages/1


messages(RA::req()) -> {tcp, tcp_closed, tcp_error} | {ssl, ssl_closed, ssl_error}

Atoms used to identify messages in {active, once | true} mode.

parse_header/2

parse_header(X1, Req_adapter) -> any()

Mimics cowboy_req:parse_header/3 {ok, ParsedHeaders, Req}

set_meta/3

set_meta(X1, Version, ReqAdapter) -> any()

Mimics cowboy_req:set_meta/3

upgrade_reply/3


upgrade_reply(X1::101, Headers::elli:headers(), Req_adapter::req()) -> {ok, req()}

websocket_handler_callback/5


websocket_handler_callback(Req, Handler, Callback, Message, HandlerState) -> Result

Calls websocket_info en websocket_handle callbacks.

websocket_handler_handle_event/5


websocket_handler_handle_event(Req_adapter::req(), Handler::module(), Name::atom(), EventArgs::list(), HandlerOpts::any()) -> ok

Report an event...

websocket_handler_init/3


websocket_handler_init(Req_adapter::req(), Handler::module(), HandlerState::any()) -> {shutdown, req()} | {ok, req(), any()} | {ok, req(), any(), hibernate} | {ok, req(), any(), Timeout::non_neg_integer()} | {ok, req(), any(), Timeout::non_neg_integer(), hibernate}

Call the websocket_init callback of the websocket handler.

calls websocket_init(Req, HandlerOpts) -> {ok, Headers, HandlerState} We can upgrade, headers are added to the upgrade response. {ok, Headers, hibernate, HandlerState} We can upgrade, but this process will hibernate, headers are added to the upgrade response {ok, Headers, Timeout, HandlerState} We can upgrade, we will timout, headers are added to the upgrade respose. {ok, Headers, hibernate, Timeout, HandlerState} We can upgrade, set a timeout and hibernate. Headers are added to the response. {shutdown, Headers} We can't upgrade, a bad request response will be sent to the client.