diff options
author | Tony Han <[email protected]> | 2019-04-28 11:03:31 +0800 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2019-07-27 10:48:32 +0200 |
commit | 02fed8a1422c9ca6f33127509eebd244f0a74d3f (patch) | |
tree | 72c46e290890bd1e71d2672350b5a06be3fc2d3e /src | |
parent | cd50a0d3f42afd5e12a1470902a60b4fa9d84f73 (diff) | |
download | gun-02fed8a1422c9ca6f33127509eebd244f0a74d3f.tar.gz gun-02fed8a1422c9ca6f33127509eebd244f0a74d3f.tar.bz2 gun-02fed8a1422c9ca6f33127509eebd244f0a74d3f.zip |
Postpone operations until connected
Diffstat (limited to 'src')
-rw-r--r-- | src/gun.erl | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gun.erl b/src/gun.erl index a548a5d..bb275f5 100644 --- a/src/gun.erl +++ b/src/gun.erl @@ -1061,6 +1061,9 @@ handle_common(cast, Any, _, #state{owner=Owner}) when element(2, Any) =/= Owner element(2, Any) ! {gun_error, self(), {notowner, "Operations are restricted to the owner of the connection."}}, keep_state_and_data; +%% We postpone all HTTP/Websocket operations until we are connected. +handle_common(cast, _, StateName, _) when StateName =/= connected -> + {keep_state_and_data, postpone}; handle_common(Type, Event, StateName, StateData) -> error_logger:error_msg("Unexpected event in state ~p of type ~p:~n~w~n~p~n", [StateName, Type, Event, StateData]), |