From b8a3977d58c58ae42762aabefff8841eabeb49c1 Mon Sep 17 00:00:00 2001 From: "Evgeny Grin (Karlson2k)" Date: Wed, 15 Mar 2017 21:05:15 +0300 Subject: [PATCH] Added ability to get connection timeout by MHD_get_connection_info(). --- ChangeLog | 4 ++++ src/include/microhttpd.h | 18 ++++++++++++++++-- src/microhttpd/connection.c | 2 ++ 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6ea958f8..11cc8221 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Mar 15 21:02:26 MSK 2017 + Added new enum value MHD_CONNECTION_INFO_CONNECTION_TIMEOUT + to get connection timeout by MHD_get_connection_info(). -EG + Sat Mar 11 12:03:45 CET 2017 Fix largepost example from tutorial to properly generate error pages. -CG diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h index c1461988..d7fc448a 100644 --- a/src/include/microhttpd.h +++ b/src/include/microhttpd.h @@ -1640,6 +1640,13 @@ union MHD_ConnectionInfo */ int /* MHD_YES or MHD_NO */ suspended; + /** + * Amount of second that connection could spend in idle state + * before automatically disconnected. + * Zero for no timeout (unlimited idle time). + */ + unsigned int connection_timeout; + /** * Connect socket */ @@ -1742,10 +1749,17 @@ enum MHD_ConnectionInfoType MHD_CONNECTION_INFO_SOCKET_CONTEXT, /** - * Check wheter the connection is suspended. + * Check whether the connection is suspended. * @ingroup request */ - MHD_CONNECTION_INFO_CONNECTION_SUSPENDED + MHD_CONNECTION_INFO_CONNECTION_SUSPENDED, + + + /** + * Get connection timeout + * @ingroup request + */ + MHD_CONNECTION_INFO_CONNECTION_TIMEOUT }; diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c index 7380c662..0d55fb3c 100644 --- a/src/microhttpd/connection.c +++ b/src/microhttpd/connection.c @@ -3331,6 +3331,8 @@ MHD_get_connection_info (struct MHD_Connection *connection, return (const union MHD_ConnectionInfo *) &connection->socket_context; case MHD_CONNECTION_INFO_CONNECTION_SUSPENDED: return (const union MHD_ConnectionInfo *) &connection->suspended; + case MHD_CONNECTION_INFO_CONNECTION_TIMEOUT: + return (const union MHD_ConnectionInfo *) &connection->connection_timeout; default: return NULL; };