Skip to content
Snippets Groups Projects
Commit 0c9563bb authored by Andy Green's avatar Andy Green
Browse files

add LWS_CALLBACK_CLOSED_HTTP


Adds a callback to allow handling HTTP protocol connections
closing.

Signed-off-by: default avatarAndy Green <andy.green@linaro.org>
parent 7cf6cb00
Branches
Tags
No related merge requests found
...@@ -28,6 +28,9 @@ User api additions ...@@ -28,6 +28,9 @@ User api additions
then does not have to try to track while connections it choked, this then does not have to try to track while connections it choked, this
will free up all of them in one call. will free up all of them in one call.
- there's a new, optional callback LWS_CALLBACK_CLOSED_HTTP which gets
called when an HTTP protocol socket closes
User api changes User api changes
---------------- ----------------
......
...@@ -210,6 +210,8 @@ libwebsocket_close_and_free_session(struct libwebsocket_context *context, ...@@ -210,6 +210,8 @@ libwebsocket_close_and_free_session(struct libwebsocket_context *context,
lwsl_debug("closing http fd %d\n", wsi->u.http.fd); lwsl_debug("closing http fd %d\n", wsi->u.http.fd);
close(wsi->u.http.fd); close(wsi->u.http.fd);
wsi->u.http.fd = 0; wsi->u.http.fd = 0;
context->protocols[0].callback(context, wsi,
LWS_CALLBACK_CLOSED_HTTP, wsi->user_space, NULL, 0);
} }
#ifndef LWS_NO_EXTENSIONS #ifndef LWS_NO_EXTENSIONS
......
...@@ -138,6 +138,7 @@ enum libwebsocket_callback_reasons { ...@@ -138,6 +138,7 @@ enum libwebsocket_callback_reasons {
LWS_CALLBACK_CLIENT_FILTER_PRE_ESTABLISH, LWS_CALLBACK_CLIENT_FILTER_PRE_ESTABLISH,
LWS_CALLBACK_CLIENT_ESTABLISHED, LWS_CALLBACK_CLIENT_ESTABLISHED,
LWS_CALLBACK_CLOSED, LWS_CALLBACK_CLOSED,
LWS_CALLBACK_CLOSED_HTTP,
LWS_CALLBACK_RECEIVE, LWS_CALLBACK_RECEIVE,
LWS_CALLBACK_CLIENT_RECEIVE, LWS_CALLBACK_CLIENT_RECEIVE,
LWS_CALLBACK_CLIENT_RECEIVE_PONG, LWS_CALLBACK_CLIENT_RECEIVE_PONG,
...@@ -419,6 +420,8 @@ struct libwebsocket_extension; ...@@ -419,6 +420,8 @@ struct libwebsocket_extension;
* *
* LWS_CALLBACK_CLOSED: when the websocket session ends * LWS_CALLBACK_CLOSED: when the websocket session ends
* *
* LWS_CALLBACK_CLOSED_HTTP: when a HTTP (non-websocket) session ends
*
* LWS_CALLBACK_RECEIVE: data has appeared for this server endpoint from a * LWS_CALLBACK_RECEIVE: data has appeared for this server endpoint from a
* remote client, it can be found at *in and is * remote client, it can be found at *in and is
* len bytes long * len bytes long
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment