diff --git a/include/civetweb.h b/include/civetweb.h index 9123a846..443a8dbb 100644 --- a/include/civetweb.h +++ b/include/civetweb.h @@ -251,6 +251,10 @@ CIVETWEB_API const char *mg_get_option(const struct mg_context *ctx, const char CIVETWEB_API struct mg_context *mg_get_context(struct mg_connection *conn); +/* Get user data passed to mg_start from context. */ +CIVETWEB_API void *mg_get_user_data(struct mg_context *ctx); + + #if defined(MG_LEGACY_INTERFACE) /* Return array of strings that represent valid configuration options. For each option, option name and default value is returned, i.e. the diff --git a/src/civetweb.c b/src/civetweb.c index 221f37d5..fae50d11 100644 --- a/src/civetweb.c +++ b/src/civetweb.c @@ -1065,6 +1065,11 @@ struct mg_context *mg_get_context(struct mg_connection * conn) return (conn == NULL) ? (struct mg_context *)NULL : &(conn->ctx); } +void *mg_get_user_data(struct mg_context *ctx) +{ + return (ctx == NULL) ? NULL : ctx->user_data; +} + size_t mg_get_ports(const struct mg_context *ctx, size_t size, int* ports, int* ssl) { size_t i;