summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGeorge Joseph <gjoseph@digium.com>2017-01-27 07:01:21 -0600
committerGerrit Code Review <gerrit2@gerrit.digium.api>2017-01-27 07:01:21 -0600
commitcb504ad6ae622d036d415fbedde438c7df380cc3 (patch)
treea7f0e5443f068cc59f37901acbf0e85951e6b592 /include
parentb39c04fc02015ef66aa37f427bbd5c311ef10ae7 (diff)
parent17f4989d49c7117684c04bff8a3e6fed1c6e6aad (diff)
Merge "ari: Implement 'debug all' and request/response logging" into 13
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/ari.h24
-rw-r--r--include/asterisk/stasis_app.h49
2 files changed, 71 insertions, 2 deletions
diff --git a/include/asterisk/ari.h b/include/asterisk/ari.h
index 1c54a694b..cad9b32c5 100644
--- a/include/asterisk/ari.h
+++ b/include/asterisk/ari.h
@@ -59,7 +59,8 @@ struct ast_ari_response;
typedef void (*stasis_rest_callback)(
struct ast_tcptls_session_instance *ser,
struct ast_variable *get_params, struct ast_variable *path_vars,
- struct ast_variable *headers, struct ast_ari_response *response);
+ struct ast_variable *headers, struct ast_json *body,
+ struct ast_ari_response *response);
/*!
* \brief Handler for a single RESTful path segment.
@@ -134,7 +135,7 @@ int ast_ari_remove_handler(struct stasis_rest_handlers *handler);
void ast_ari_invoke(struct ast_tcptls_session_instance *ser,
const char *uri, enum ast_http_method method,
struct ast_variable *get_params, struct ast_variable *headers,
- struct ast_ari_response *response);
+ struct ast_json *body, struct ast_ari_response *response);
/*!
* \internal
@@ -189,6 +190,25 @@ int ast_ari_websocket_session_write(struct ast_ari_websocket_session *session,
struct ast_json *message);
/*!
+ * \brief Get the Session ID for an ARI WebSocket.
+ *
+ * \param session Session to query.
+ * \return Session ID.
+ * \return \c NULL on error.
+ */
+const char *ast_ari_websocket_session_id(
+ const struct ast_ari_websocket_session *session);
+
+/*!
+ * \brief Get the remote address from an ARI WebSocket.
+ *
+ * \param session Session to write to.
+ * \return ast_sockaddr (does not have to be freed)
+ */
+struct ast_sockaddr *ast_ari_websocket_session_get_remote_addr(
+ struct ast_ari_websocket_session *session);
+
+/*!
* \brief The stock message to return when out of memory.
*
* The refcount is NOT bumped on this object, so ast_json_ref() if you want to
diff --git a/include/asterisk/stasis_app.h b/include/asterisk/stasis_app.h
index 53ce116a9..6f9897c09 100644
--- a/include/asterisk/stasis_app.h
+++ b/include/asterisk/stasis_app.h
@@ -891,6 +891,55 @@ int stasis_app_channel_unreal_set_internal(struct ast_channel *chan);
*/
int stasis_app_channel_set_internal(struct ast_channel *chan);
+/*!
+ * \brief Enable/disable request/response and event logging on an application
+ *
+ * \param app The app to debug
+ * \param debug If non-zero, enable debugging. If zero, disable.
+ */
+void stasis_app_set_debug(struct stasis_app *app, int debug);
+
+/*!
+ * \brief Enable/disable request/response and event logging on an application
+ *
+ * \param app_name The app name to debug
+ * \param debug If non-zero, enable debugging. If zero, disable.
+ */
+void stasis_app_set_debug_by_name(const char *app_name, int debug);
+
+/*!
+ * \brief Get debug status of an application
+ *
+ * \param app The app to check
+ * \return The debug flag for the app || the global debug flag
+ */
+int stasis_app_get_debug(struct stasis_app *app);
+
+/*!
+ * \brief Get debug status of an application
+ *
+ * \param app_name The app_name to check
+ * \return The debug flag for the app || the global debug flag
+ */
+int stasis_app_get_debug_by_name(const char *app_name);
+
+/*!
+ * \brief Enable/disable request/response and event logging on all applications
+ *
+ * \param debug If non-zero, enable debugging. If zero, disable.
+ */
+void stasis_app_set_global_debug(int debug);
+
+struct ast_cli_args;
+
+/*!
+ * \brief Dump properties of a \c stasis_app to the CLI
+ *
+ * \param app The application
+ * \param a The CLI arguments
+ */
+void stasis_app_to_cli(const struct stasis_app *app, struct ast_cli_args *a);
+
/*! @} */
#endif /* _ASTERISK_STASIS_APP_H */