summaryrefslogtreecommitdiff
path: root/res/ari/ari_websockets.c
diff options
context:
space:
mode:
Diffstat (limited to 'res/ari/ari_websockets.c')
-rw-r--r--res/ari/ari_websockets.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/res/ari/ari_websockets.c b/res/ari/ari_websockets.c
index 90d6f0fdb..ff0a53c4f 100644
--- a/res/ari/ari_websockets.c
+++ b/res/ari/ari_websockets.c
@@ -56,11 +56,16 @@ struct ast_ari_websocket_session *ast_ari_websocket_session_create(
struct ast_websocket *ws_session, int (*validator)(struct ast_json *))
{
RAII_VAR(struct ast_ari_websocket_session *, session, NULL, ao2_cleanup);
+ RAII_VAR(struct ast_ari_conf *, config, ast_ari_config_get(), ao2_cleanup);
if (ws_session == NULL) {
return NULL;
}
+ if (config == NULL || config->general == NULL) {
+ return NULL;
+ }
+
if (validator == NULL) {
validator = null_validator;
}
@@ -72,6 +77,11 @@ struct ast_ari_websocket_session *ast_ari_websocket_session_create(
return NULL;
}
+ if (ast_websocket_set_timeout(ws_session, config->general->write_timeout)) {
+ ast_log(LOG_WARNING, "Failed to set write timeout %d on ARI web socket\n",
+ config->general->write_timeout);
+ }
+
session = ao2_alloc(sizeof(*session), websocket_session_dtor);
if (!session) {
return NULL;