diff options
Diffstat (limited to 'res/ari/ari_websockets.c')
-rw-r--r-- | res/ari/ari_websockets.c | 10 |
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; |