diff options
Diffstat (limited to 'rest-api-templates')
-rw-r--r-- | rest-api-templates/ari_resource.h.mustache | 20 | ||||
-rw-r--r-- | rest-api-templates/res_ari_resource.c.mustache | 9 |
2 files changed, 25 insertions, 4 deletions
diff --git a/rest-api-templates/ari_resource.h.mustache b/rest-api-templates/ari_resource.h.mustache index d3f40b6bd..f28e832d1 100644 --- a/rest-api-templates/ari_resource.h.mustache +++ b/rest-api-templates/ari_resource.h.mustache @@ -97,14 +97,28 @@ void ast_ari_{{c_name}}_{{c_nickname}}(struct ast_variable *headers, struct ast_ * {{{notes}}} {{/notes}} * + * \retval 0 success + * \retval -1 error + */ +int ast_ari_websocket_{{c_name}}_{{c_nickname}}_init(void); + +/*! + * \brief {{summary}} +{{#notes}} + * + * {{{notes}}} +{{/notes}} + * * \param ser HTTP TCP/TLS Server Session * \param headers HTTP headers * \param args Swagger parameters + * \param session_id The id of the current session. * * \retval 0 success * \retval non-zero error */ -int ast_ari_websocket_{{c_name}}_{{c_nickname}}_attempted(struct ast_tcptls_session_instance *ser, struct ast_variable *headers, struct ast_ari_{{c_name}}_{{c_nickname}}_args *args); +int ast_ari_websocket_{{c_name}}_{{c_nickname}}_attempted(struct ast_tcptls_session_instance *ser, + struct ast_variable *headers, struct ast_ari_{{c_name}}_{{c_nickname}}_args *args, const char *session_id); /*! * \brief {{summary}} @@ -116,8 +130,10 @@ int ast_ari_websocket_{{c_name}}_{{c_nickname}}_attempted(struct ast_tcptls_sess * \param session ARI WebSocket. * \param headers HTTP headers. * \param args Swagger parameters. + * \param session_id The id of the current session. */ -void ast_ari_websocket_{{c_name}}_{{c_nickname}}_established(struct ast_ari_websocket_session *session, struct ast_variable *headers, struct ast_ari_{{c_name}}_{{c_nickname}}_args *args); +void ast_ari_websocket_{{c_name}}_{{c_nickname}}_established(struct ast_ari_websocket_session *session, + struct ast_variable *headers, struct ast_ari_{{c_name}}_{{c_nickname}}_args *args); {{/is_websocket}} {{/operations}} {{/apis}} diff --git a/rest-api-templates/res_ari_resource.c.mustache b/rest-api-templates/res_ari_resource.c.mustache index 7fe360e89..36ca035ee 100644 --- a/rest-api-templates/res_ari_resource.c.mustache +++ b/rest-api-templates/res_ari_resource.c.mustache @@ -137,7 +137,8 @@ fin: __attribute__((unused)) } {{/is_req}} {{#is_websocket}} -static int ast_ari_{{c_name}}_{{c_nickname}}_ws_attempted_cb(struct ast_tcptls_session_instance *ser, struct ast_variable *get_params, struct ast_variable *headers) +static int ast_ari_{{c_name}}_{{c_nickname}}_ws_attempted_cb(struct ast_tcptls_session_instance *ser, + struct ast_variable *get_params, struct ast_variable *headers, const char *session_id) { struct ast_ari_{{c_name}}_{{c_nickname}}_args args = {}; {{#has_parameters}} @@ -156,7 +157,7 @@ static int ast_ari_{{c_name}}_{{c_nickname}}_ws_attempted_cb(struct ast_tcptls_s {{> param_parsing}} - res = ast_ari_websocket_{{c_name}}_{{c_nickname}}_attempted(ser, headers, &args); + res = ast_ari_websocket_{{c_name}}_{{c_nickname}}_attempted(ser, headers, &args, session_id); fin: __attribute__((unused)) if (!response) { @@ -255,6 +256,10 @@ static int load_module(void) {{#has_websocket}} struct ast_websocket_protocol *protocol; + if (ast_ari_websocket_{{c_name}}_{{c_nickname}}_init() == -1) { + return AST_MODULE_LOAD_FAILURE; + } + {{full_name}}.ws_server = ast_websocket_server_create(); if (!{{full_name}}.ws_server) { return AST_MODULE_LOAD_FAILURE; |