Rename everything Stasis-HTTP to ARI

This renames all files and API calls from several variants of
Stasis-HTTP to ARI including:
* Stasis-HTTP -> ARI
* STASIS_HTTP -> ARI
* stasis_http -> ari (ast_ari for global symbols, file names as well)
* stasis http -> ARI

Review: https://reviewboard.asterisk.org/r/2706/
(closes issue ASTERISK-22136)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@395603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kinsey Moore
2013-07-27 23:11:02 +00:00
parent fc05248bd1
commit d8956f690e
53 changed files with 1636 additions and 1637 deletions

View File

@@ -1,6 +1,6 @@
[general] [general]
enabled = yes ; When set to no, stasis-http support is disabled. enabled = yes ; When set to no, ARI support is disabled.
;pretty = no ; When set to yes, responses from stasis-http are ;pretty = no ; When set to yes, responses from ARI are
; ; formatted to be human readable. ; ; formatted to be human readable.
;allowed_origins = ; Comma separated list of allowed origins, for ;allowed_origins = ; Comma separated list of allowed origins, for
; ; Cross-Origin Resource Sharing. May be set to * to ; ; Cross-Origin Resource Sharing. May be set to * to

View File

@@ -16,15 +16,15 @@
* at the top of the source tree. * at the top of the source tree.
*/ */
#ifndef _ASTERISK_STASIS_HTTP_H #ifndef _ASTERISK_ARI_H
#define _ASTERISK_STASIS_HTTP_H #define _ASTERISK_ARI_H
/*! \file /*! \file
* *
* \brief Stasis RESTful API hooks. * \brief Stasis RESTful API hooks.
* *
* This header file is used mostly as glue code between generated declarations * This header file is used mostly as glue code between generated declarations
* and res_stasis_http.c. * and res_ari.c.
* *
* \author David M. Lee, II <dlee@digium.com> * \author David M. Lee, II <dlee@digium.com>
*/ */
@@ -37,9 +37,9 @@
* \brief Configured encoding format for JSON output. * \brief Configured encoding format for JSON output.
* \return JSON output encoding (compact, pretty, etc.) * \return JSON output encoding (compact, pretty, etc.)
*/ */
enum ast_json_encoding_format stasis_http_json_format(void); enum ast_json_encoding_format ast_ari_json_format(void);
struct stasis_http_response; struct ast_ari_response;
/*! /*!
* \brief Callback type for RESTful method handlers. * \brief Callback type for RESTful method handlers.
@@ -51,7 +51,7 @@ struct stasis_http_response;
typedef void (*stasis_rest_callback)(struct ast_variable *get_params, typedef void (*stasis_rest_callback)(struct ast_variable *get_params,
struct ast_variable *path_vars, struct ast_variable *path_vars,
struct ast_variable *headers, struct ast_variable *headers,
struct stasis_http_response *response); struct ast_ari_response *response);
/*! /*!
* \brief Handler for a single RESTful path segment. * \brief Handler for a single RESTful path segment.
@@ -79,7 +79,7 @@ struct stasis_rest_handlers {
/*! /*!
* Response type for RESTful requests * Response type for RESTful requests
*/ */
struct stasis_http_response { struct ast_ari_response {
/*! Response message */ /*! Response message */
struct ast_json *message; struct ast_json *message;
/*! \r\n seperated response headers */ /*! \r\n seperated response headers */
@@ -99,7 +99,7 @@ struct stasis_http_response {
* \return 0 on success. * \return 0 on success.
* \return non-zero on failure. * \return non-zero on failure.
*/ */
int stasis_http_add_handler(struct stasis_rest_handlers *handler); int ast_ari_add_handler(struct stasis_rest_handlers *handler);
/*! /*!
* Remove a resource for REST handling. * Remove a resource for REST handling.
@@ -107,13 +107,13 @@ int stasis_http_add_handler(struct stasis_rest_handlers *handler);
* \return 0 on success. * \return 0 on success.
* \return non-zero on failure. * \return non-zero on failure.
*/ */
int stasis_http_remove_handler(struct stasis_rest_handlers *handler); int ast_ari_remove_handler(struct stasis_rest_handlers *handler);
/*! /*!
* \internal * \internal
* \brief Stasis RESTful invocation handler. * \brief Stasis RESTful invocation handler.
* *
* Only call from res_stasis_http and test_stasis_http. Only public to allow * Only call from res_ari and test_ari. Only public to allow
* for unit testing. * for unit testing.
* *
* \param ser TCP/TLS connection. * \param ser TCP/TLS connection.
@@ -123,26 +123,26 @@ int stasis_http_remove_handler(struct stasis_rest_handlers *handler);
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response RESTful HTTP response. * \param[out] response RESTful HTTP response.
*/ */
void stasis_http_invoke(struct ast_tcptls_session_instance *ser, void ast_ari_invoke(struct ast_tcptls_session_instance *ser,
const char *uri, enum ast_http_method method, const char *uri, enum ast_http_method method,
struct ast_variable *get_params, struct ast_variable *headers, struct ast_variable *get_params, struct ast_variable *headers,
struct stasis_http_response *response); struct ast_ari_response *response);
/*! /*!
* \internal * \internal
* \brief Service function for API declarations. * \brief Service function for API declarations.
* *
* Only call from res_stasis_http and test_stasis_http. Only public to allow * Only call from res_ari and test_ari. Only public to allow
* for unit testing. * for unit testing.
* *
* \param uri Requested URI, relative to the docs path. * \param uri Requested URI, relative to the docs path.
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response RESTful HTTP response. * \param[out] response RESTful HTTP response.
*/ */
void stasis_http_get_docs(const char *uri, struct ast_variable *headers, struct stasis_http_response *response); void ast_ari_get_docs(const char *uri, struct ast_variable *headers, struct ast_ari_response *response);
/*! \brief Abstraction for reading/writing JSON to a WebSocket */ /*! \brief Abstraction for reading/writing JSON to a WebSocket */
struct ari_websocket_session; struct ast_ari_websocket_session;
/*! /*!
* \brief Create an ARI WebSocket session. * \brief Create an ARI WebSocket session.
@@ -155,7 +155,7 @@ struct ari_websocket_session;
* \return New ARI WebSocket session. * \return New ARI WebSocket session.
* \return \c NULL on error. * \return \c NULL on error.
*/ */
struct ari_websocket_session *ari_websocket_session_create( struct ast_ari_websocket_session *ast_ari_websocket_session_create(
struct ast_websocket *ws_session, int (*validator)(struct ast_json *)); struct ast_websocket *ws_session, int (*validator)(struct ast_json *));
/*! /*!
@@ -165,8 +165,8 @@ struct ari_websocket_session *ari_websocket_session_create(
* \return Message received. * \return Message received.
* \return \c NULL if WebSocket could not be read. * \return \c NULL if WebSocket could not be read.
*/ */
struct ast_json *ari_websocket_session_read( struct ast_json *ast_ari_websocket_session_read(
struct ari_websocket_session *session); struct ast_ari_websocket_session *session);
/*! /*!
* \brief Send a message to an ARI WebSocket. * \brief Send a message to an ARI WebSocket.
@@ -176,7 +176,7 @@ struct ast_json *ari_websocket_session_read(
* \return 0 on success. * \return 0 on success.
* \return Non-zero on error. * \return Non-zero on error.
*/ */
int ari_websocket_session_write(struct ari_websocket_session *session, int ast_ari_websocket_session_write(struct ast_ari_websocket_session *session,
struct ast_json *message); struct ast_json *message);
/*! /*!
@@ -187,45 +187,45 @@ int ari_websocket_session_write(struct ari_websocket_session *session,
* *
* \return JSON message specifying an out-of-memory error. * \return JSON message specifying an out-of-memory error.
*/ */
struct ast_json *ari_oom_json(void); struct ast_json *ast_ari_oom_json(void);
/*! /*!
* \brief Fill in an error \a stasis_http_response. * \brief Fill in an error \a ast_ari_response.
* \param response Response to fill in. * \param response Response to fill in.
* \param response_code HTTP response code. * \param response_code HTTP response code.
* \param response_text Text corresponding to the HTTP response code. * \param response_text Text corresponding to the HTTP response code.
* \param message_fmt Error message format string. * \param message_fmt Error message format string.
*/ */
void stasis_http_response_error(struct stasis_http_response *response, void ast_ari_response_error(struct ast_ari_response *response,
int response_code, int response_code,
const char *response_text, const char *response_text,
const char *message_fmt, ...) const char *message_fmt, ...)
__attribute__((format(printf, 4, 5))); __attribute__((format(printf, 4, 5)));
/*! /*!
* \brief Fill in an \c OK (200) \a stasis_http_response. * \brief Fill in an \c OK (200) \a ast_ari_response.
* \param response Response to fill in. * \param response Response to fill in.
* \param message JSON response. This reference is stolen, so just \ref * \param message JSON response. This reference is stolen, so just \ref
* ast_json_incref if you need to keep a reference to it. * ast_json_incref if you need to keep a reference to it.
*/ */
void stasis_http_response_ok(struct stasis_http_response *response, void ast_ari_response_ok(struct ast_ari_response *response,
struct ast_json *message); struct ast_json *message);
/*! /*!
* \brief Fill in a <tt>No Content</tt> (204) \a stasis_http_response. * \brief Fill in a <tt>No Content</tt> (204) \a ast_ari_response.
*/ */
void stasis_http_response_no_content(struct stasis_http_response *response); void ast_ari_response_no_content(struct ast_ari_response *response);
/*! /*!
* \brief Fill in a <tt>Created</tt> (201) \a stasis_http_response. * \brief Fill in a <tt>Created</tt> (201) \a ast_ari_response.
*/ */
void stasis_http_response_created(struct stasis_http_response *response, void ast_ari_response_created(struct ast_ari_response *response,
const char *url, struct ast_json *message); const char *url, struct ast_json *message);
/*! /*!
* \brief Fill in \a response with a 500 message for allocation failures. * \brief Fill in \a response with a 500 message for allocation failures.
* \param response Response to fill in. * \param response Response to fill in.
*/ */
void stasis_http_response_alloc_failed(struct stasis_http_response *response); void ast_ari_response_alloc_failed(struct ast_ari_response *response);
#endif /* _ASTERISK_STASIS_HTTP_H */ #endif /* _ASTERISK_ARI_H */

View File

@@ -70,7 +70,7 @@ struct stasis_conf {
struct stasis_threadpool_conf *threadpool; struct stasis_threadpool_conf *threadpool;
}; };
/*! \brief Mapping of the stasis http conf struct's globals to the /*! \brief Mapping of the stasis conf struct's globals to the
* threadpool context in the config file. */ * threadpool context in the config file. */
static struct aco_type threadpool_option = { static struct aco_type threadpool_option = {
.type = ACO_GLOBAL, .type = ACO_GLOBAL,

View File

@@ -73,18 +73,18 @@ endif
ael/pval.o: ael/pval.c ael/pval.o: ael/pval.c
clean:: clean::
rm -f snmp/*.[oi] ael/*.[oi] ais/*.[oi] stasis_http/*.[oi] rm -f snmp/*.[oi] ael/*.[oi] ais/*.[oi] ari/*.[oi]
rm -f res_sip/*.[oi] stasis/*.[oi] rm -f res_sip/*.[oi] stasis/*.[oi]
rm -f parking/*.o parking/*.i rm -f parking/*.o parking/*.i
$(if $(filter res_parking,$(EMBEDDED_MODS)),modules.link,res_parking.so): $(subst .c,.o,$(wildcard parking/*.c)) $(if $(filter res_parking,$(EMBEDDED_MODS)),modules.link,res_parking.so): $(subst .c,.o,$(wildcard parking/*.c))
$(subst .c,.o,$(wildcard parking/*.c)): _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_parking) $(subst .c,.o,$(wildcard parking/*.c)): _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_parking)
res_stasis_http.so: stasis_http/cli.o stasis_http/config.o stasis_http/ari_websockets.o res_ari.so: ari/cli.o ari/config.o ari/ari_websockets.o
stasis_http/cli.o stasis_http/config.o stasis_http/ari_websockets.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_stasis_http) ari/cli.o ari/config.o ari/ari_websockets.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari)
res_ari_model.so: stasis_http/ari_model_validators.o res_ari_model.so: ari/ari_model_validators.o
stasis_http/ari_model_validators.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_model) ari/ari_model_validators.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_model)
# Dependencies for res_stasis_http_*.so are generated, so they're in this file # Dependencies for res_ari_*.so are generated, so they're in this file
include stasis_http.make include ari.make

51
res/ari.make Normal file
View File

@@ -0,0 +1,51 @@
#
# Asterisk -- A telephony toolkit for Linux.
#
# Generated Makefile for res_ari dependencies.
#
# Copyright (C) 2013, Digium, Inc.
#
# This program is free software, distributed under the terms of
# the GNU General Public License
#
#
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# !!!!! DO NOT EDIT !!!!!
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# This file is generated by a template. Please see the original template at
# rest-api-templates/ari.make.mustache
#
res_ari_asterisk.so: ari/resource_asterisk.o
ari/resource_asterisk.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_asterisk)
res_ari_endpoints.so: ari/resource_endpoints.o
ari/resource_endpoints.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_endpoints)
res_ari_channels.so: ari/resource_channels.o
ari/resource_channels.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_channels)
res_ari_bridges.so: ari/resource_bridges.o
ari/resource_bridges.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_bridges)
res_ari_recordings.so: ari/resource_recordings.o
ari/resource_recordings.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_recordings)
res_ari_sounds.so: ari/resource_sounds.o
ari/resource_sounds.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_sounds)
res_ari_playback.so: ari/resource_playback.o
ari/resource_playback.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_playback)
res_ari_events.so: ari/resource_events.o
ari/resource_events.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_events)

View File

@@ -19,7 +19,7 @@
* \brief Generated file - Build validators for ARI model objects. * \brief Generated file - Build validators for ARI model objects.
* *
* In addition to the normal validation functions one would normally expect, * In addition to the normal validation functions one would normally expect,
* each validator has a ari_validate_{id}_fn() companion function that returns * each validator has a ast_ari_validate_{id}_fn() companion function that returns
* the validator's function pointer. * the validator's function pointer.
* *
* The reason for this seamingly useless indirection is the way function * The reason for this seamingly useless indirection is the way function
@@ -52,7 +52,7 @@
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_void(struct ast_json *json); int ast_ari_validate_void(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger byte. * \brief Validator for native Swagger byte.
@@ -61,7 +61,7 @@ int ari_validate_void(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_byte(struct ast_json *json); int ast_ari_validate_byte(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger boolean. * \brief Validator for native Swagger boolean.
@@ -70,7 +70,7 @@ int ari_validate_byte(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_boolean(struct ast_json *json); int ast_ari_validate_boolean(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger int. * \brief Validator for native Swagger int.
@@ -79,7 +79,7 @@ int ari_validate_boolean(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_int(struct ast_json *json); int ast_ari_validate_int(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger long. * \brief Validator for native Swagger long.
@@ -88,7 +88,7 @@ int ari_validate_int(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_long(struct ast_json *json); int ast_ari_validate_long(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger float. * \brief Validator for native Swagger float.
@@ -97,7 +97,7 @@ int ari_validate_long(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_float(struct ast_json *json); int ast_ari_validate_float(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger double. * \brief Validator for native Swagger double.
@@ -106,7 +106,7 @@ int ari_validate_float(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_double(struct ast_json *json); int ast_ari_validate_double(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger string. * \brief Validator for native Swagger string.
@@ -115,7 +115,7 @@ int ari_validate_double(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_string(struct ast_json *json); int ast_ari_validate_string(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger date. * \brief Validator for native Swagger date.
@@ -124,7 +124,7 @@ int ari_validate_string(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_date(struct ast_json *json); int ast_ari_validate_date(struct ast_json *json);
/*! /*!
* \brief Validator for a Swagger List[]/JSON array. * \brief Validator for a Swagger List[]/JSON array.
@@ -134,7 +134,7 @@ int ari_validate_date(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_list(struct ast_json *json, int (*fn)(struct ast_json *)); int ast_ari_validate_list(struct ast_json *json, int (*fn)(struct ast_json *));
/*! @} */ /*! @} */
@@ -152,14 +152,14 @@ typedef int (*ari_validator)(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_asterisk_info(struct ast_json *json); int ast_ari_validate_asterisk_info(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_asterisk_info(). * \brief Function pointer to ast_ari_validate_asterisk_info().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_asterisk_info_fn(void); ari_validator ast_ari_validate_asterisk_info_fn(void);
/*! /*!
* \brief Validator for Variable. * \brief Validator for Variable.
@@ -170,14 +170,14 @@ ari_validator ari_validate_asterisk_info_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_variable(struct ast_json *json); int ast_ari_validate_variable(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_variable(). * \brief Function pointer to ast_ari_validate_variable().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_variable_fn(void); ari_validator ast_ari_validate_variable_fn(void);
/*! /*!
* \brief Validator for Endpoint. * \brief Validator for Endpoint.
@@ -190,14 +190,14 @@ ari_validator ari_validate_variable_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_endpoint(struct ast_json *json); int ast_ari_validate_endpoint(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_endpoint(). * \brief Function pointer to ast_ari_validate_endpoint().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_endpoint_fn(void); ari_validator ast_ari_validate_endpoint_fn(void);
/*! /*!
* \brief Validator for CallerID. * \brief Validator for CallerID.
@@ -208,14 +208,14 @@ ari_validator ari_validate_endpoint_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_caller_id(struct ast_json *json); int ast_ari_validate_caller_id(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_caller_id(). * \brief Function pointer to ast_ari_validate_caller_id().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_caller_id_fn(void); ari_validator ast_ari_validate_caller_id_fn(void);
/*! /*!
* \brief Validator for Channel. * \brief Validator for Channel.
@@ -226,14 +226,14 @@ ari_validator ari_validate_caller_id_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel(struct ast_json *json); int ast_ari_validate_channel(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel(). * \brief Function pointer to ast_ari_validate_channel().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_fn(void); ari_validator ast_ari_validate_channel_fn(void);
/*! /*!
* \brief Validator for Dialed. * \brief Validator for Dialed.
@@ -244,14 +244,14 @@ ari_validator ari_validate_channel_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_dialed(struct ast_json *json); int ast_ari_validate_dialed(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_dialed(). * \brief Function pointer to ast_ari_validate_dialed().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_dialed_fn(void); ari_validator ast_ari_validate_dialed_fn(void);
/*! /*!
* \brief Validator for DialplanCEP. * \brief Validator for DialplanCEP.
@@ -262,14 +262,14 @@ ari_validator ari_validate_dialed_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_dialplan_cep(struct ast_json *json); int ast_ari_validate_dialplan_cep(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_dialplan_cep(). * \brief Function pointer to ast_ari_validate_dialplan_cep().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_dialplan_cep_fn(void); ari_validator ast_ari_validate_dialplan_cep_fn(void);
/*! /*!
* \brief Validator for Bridge. * \brief Validator for Bridge.
@@ -282,14 +282,14 @@ ari_validator ari_validate_dialplan_cep_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_bridge(struct ast_json *json); int ast_ari_validate_bridge(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_bridge(). * \brief Function pointer to ast_ari_validate_bridge().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_bridge_fn(void); ari_validator ast_ari_validate_bridge_fn(void);
/*! /*!
* \brief Validator for LiveRecording. * \brief Validator for LiveRecording.
@@ -300,14 +300,14 @@ ari_validator ari_validate_bridge_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_live_recording(struct ast_json *json); int ast_ari_validate_live_recording(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_live_recording(). * \brief Function pointer to ast_ari_validate_live_recording().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_live_recording_fn(void); ari_validator ast_ari_validate_live_recording_fn(void);
/*! /*!
* \brief Validator for StoredRecording. * \brief Validator for StoredRecording.
@@ -318,14 +318,14 @@ ari_validator ari_validate_live_recording_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_stored_recording(struct ast_json *json); int ast_ari_validate_stored_recording(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_stored_recording(). * \brief Function pointer to ast_ari_validate_stored_recording().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_stored_recording_fn(void); ari_validator ast_ari_validate_stored_recording_fn(void);
/*! /*!
* \brief Validator for FormatLangPair. * \brief Validator for FormatLangPair.
@@ -336,14 +336,14 @@ ari_validator ari_validate_stored_recording_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_format_lang_pair(struct ast_json *json); int ast_ari_validate_format_lang_pair(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_format_lang_pair(). * \brief Function pointer to ast_ari_validate_format_lang_pair().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_format_lang_pair_fn(void); ari_validator ast_ari_validate_format_lang_pair_fn(void);
/*! /*!
* \brief Validator for Sound. * \brief Validator for Sound.
@@ -354,14 +354,14 @@ ari_validator ari_validate_format_lang_pair_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_sound(struct ast_json *json); int ast_ari_validate_sound(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_sound(). * \brief Function pointer to ast_ari_validate_sound().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_sound_fn(void); ari_validator ast_ari_validate_sound_fn(void);
/*! /*!
* \brief Validator for Playback. * \brief Validator for Playback.
@@ -372,14 +372,14 @@ ari_validator ari_validate_sound_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_playback(struct ast_json *json); int ast_ari_validate_playback(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_playback(). * \brief Function pointer to ast_ari_validate_playback().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_playback_fn(void); ari_validator ast_ari_validate_playback_fn(void);
/*! /*!
* \brief Validator for ApplicationReplaced. * \brief Validator for ApplicationReplaced.
@@ -392,14 +392,14 @@ ari_validator ari_validate_playback_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_application_replaced(struct ast_json *json); int ast_ari_validate_application_replaced(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_application_replaced(). * \brief Function pointer to ast_ari_validate_application_replaced().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_application_replaced_fn(void); ari_validator ast_ari_validate_application_replaced_fn(void);
/*! /*!
* \brief Validator for BridgeCreated. * \brief Validator for BridgeCreated.
@@ -410,14 +410,14 @@ ari_validator ari_validate_application_replaced_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_bridge_created(struct ast_json *json); int ast_ari_validate_bridge_created(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_bridge_created(). * \brief Function pointer to ast_ari_validate_bridge_created().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_bridge_created_fn(void); ari_validator ast_ari_validate_bridge_created_fn(void);
/*! /*!
* \brief Validator for BridgeDestroyed. * \brief Validator for BridgeDestroyed.
@@ -428,14 +428,14 @@ ari_validator ari_validate_bridge_created_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_bridge_destroyed(struct ast_json *json); int ast_ari_validate_bridge_destroyed(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_bridge_destroyed(). * \brief Function pointer to ast_ari_validate_bridge_destroyed().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_bridge_destroyed_fn(void); ari_validator ast_ari_validate_bridge_destroyed_fn(void);
/*! /*!
* \brief Validator for BridgeMerged. * \brief Validator for BridgeMerged.
@@ -446,14 +446,14 @@ ari_validator ari_validate_bridge_destroyed_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_bridge_merged(struct ast_json *json); int ast_ari_validate_bridge_merged(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_bridge_merged(). * \brief Function pointer to ast_ari_validate_bridge_merged().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_bridge_merged_fn(void); ari_validator ast_ari_validate_bridge_merged_fn(void);
/*! /*!
* \brief Validator for ChannelCallerId. * \brief Validator for ChannelCallerId.
@@ -464,14 +464,14 @@ ari_validator ari_validate_bridge_merged_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_caller_id(struct ast_json *json); int ast_ari_validate_channel_caller_id(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_caller_id(). * \brief Function pointer to ast_ari_validate_channel_caller_id().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_caller_id_fn(void); ari_validator ast_ari_validate_channel_caller_id_fn(void);
/*! /*!
* \brief Validator for ChannelCreated. * \brief Validator for ChannelCreated.
@@ -482,14 +482,14 @@ ari_validator ari_validate_channel_caller_id_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_created(struct ast_json *json); int ast_ari_validate_channel_created(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_created(). * \brief Function pointer to ast_ari_validate_channel_created().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_created_fn(void); ari_validator ast_ari_validate_channel_created_fn(void);
/*! /*!
* \brief Validator for ChannelDestroyed. * \brief Validator for ChannelDestroyed.
@@ -500,14 +500,14 @@ ari_validator ari_validate_channel_created_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_destroyed(struct ast_json *json); int ast_ari_validate_channel_destroyed(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_destroyed(). * \brief Function pointer to ast_ari_validate_channel_destroyed().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_destroyed_fn(void); ari_validator ast_ari_validate_channel_destroyed_fn(void);
/*! /*!
* \brief Validator for ChannelDialplan. * \brief Validator for ChannelDialplan.
@@ -518,14 +518,14 @@ ari_validator ari_validate_channel_destroyed_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_dialplan(struct ast_json *json); int ast_ari_validate_channel_dialplan(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_dialplan(). * \brief Function pointer to ast_ari_validate_channel_dialplan().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_dialplan_fn(void); ari_validator ast_ari_validate_channel_dialplan_fn(void);
/*! /*!
* \brief Validator for ChannelDtmfReceived. * \brief Validator for ChannelDtmfReceived.
@@ -538,14 +538,14 @@ ari_validator ari_validate_channel_dialplan_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_dtmf_received(struct ast_json *json); int ast_ari_validate_channel_dtmf_received(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_dtmf_received(). * \brief Function pointer to ast_ari_validate_channel_dtmf_received().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_dtmf_received_fn(void); ari_validator ast_ari_validate_channel_dtmf_received_fn(void);
/*! /*!
* \brief Validator for ChannelEnteredBridge. * \brief Validator for ChannelEnteredBridge.
@@ -556,14 +556,14 @@ ari_validator ari_validate_channel_dtmf_received_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_entered_bridge(struct ast_json *json); int ast_ari_validate_channel_entered_bridge(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_entered_bridge(). * \brief Function pointer to ast_ari_validate_channel_entered_bridge().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_entered_bridge_fn(void); ari_validator ast_ari_validate_channel_entered_bridge_fn(void);
/*! /*!
* \brief Validator for ChannelHangupRequest. * \brief Validator for ChannelHangupRequest.
@@ -574,14 +574,14 @@ ari_validator ari_validate_channel_entered_bridge_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_hangup_request(struct ast_json *json); int ast_ari_validate_channel_hangup_request(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_hangup_request(). * \brief Function pointer to ast_ari_validate_channel_hangup_request().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_hangup_request_fn(void); ari_validator ast_ari_validate_channel_hangup_request_fn(void);
/*! /*!
* \brief Validator for ChannelLeftBridge. * \brief Validator for ChannelLeftBridge.
@@ -592,14 +592,14 @@ ari_validator ari_validate_channel_hangup_request_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_left_bridge(struct ast_json *json); int ast_ari_validate_channel_left_bridge(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_left_bridge(). * \brief Function pointer to ast_ari_validate_channel_left_bridge().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_left_bridge_fn(void); ari_validator ast_ari_validate_channel_left_bridge_fn(void);
/*! /*!
* \brief Validator for ChannelStateChange. * \brief Validator for ChannelStateChange.
@@ -610,14 +610,14 @@ ari_validator ari_validate_channel_left_bridge_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_state_change(struct ast_json *json); int ast_ari_validate_channel_state_change(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_state_change(). * \brief Function pointer to ast_ari_validate_channel_state_change().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_state_change_fn(void); ari_validator ast_ari_validate_channel_state_change_fn(void);
/*! /*!
* \brief Validator for ChannelUserevent. * \brief Validator for ChannelUserevent.
@@ -628,14 +628,14 @@ ari_validator ari_validate_channel_state_change_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_userevent(struct ast_json *json); int ast_ari_validate_channel_userevent(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_userevent(). * \brief Function pointer to ast_ari_validate_channel_userevent().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_userevent_fn(void); ari_validator ast_ari_validate_channel_userevent_fn(void);
/*! /*!
* \brief Validator for ChannelVarset. * \brief Validator for ChannelVarset.
@@ -646,14 +646,14 @@ ari_validator ari_validate_channel_userevent_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_channel_varset(struct ast_json *json); int ast_ari_validate_channel_varset(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_channel_varset(). * \brief Function pointer to ast_ari_validate_channel_varset().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_channel_varset_fn(void); ari_validator ast_ari_validate_channel_varset_fn(void);
/*! /*!
* \brief Validator for Event. * \brief Validator for Event.
@@ -664,14 +664,14 @@ ari_validator ari_validate_channel_varset_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_event(struct ast_json *json); int ast_ari_validate_event(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_event(). * \brief Function pointer to ast_ari_validate_event().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_event_fn(void); ari_validator ast_ari_validate_event_fn(void);
/*! /*!
* \brief Validator for Message. * \brief Validator for Message.
@@ -682,14 +682,14 @@ ari_validator ari_validate_event_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_message(struct ast_json *json); int ast_ari_validate_message(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_message(). * \brief Function pointer to ast_ari_validate_message().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_message_fn(void); ari_validator ast_ari_validate_message_fn(void);
/*! /*!
* \brief Validator for MissingParams. * \brief Validator for MissingParams.
@@ -700,14 +700,14 @@ ari_validator ari_validate_message_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_missing_params(struct ast_json *json); int ast_ari_validate_missing_params(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_missing_params(). * \brief Function pointer to ast_ari_validate_missing_params().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_missing_params_fn(void); ari_validator ast_ari_validate_missing_params_fn(void);
/*! /*!
* \brief Validator for PlaybackFinished. * \brief Validator for PlaybackFinished.
@@ -718,14 +718,14 @@ ari_validator ari_validate_missing_params_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_playback_finished(struct ast_json *json); int ast_ari_validate_playback_finished(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_playback_finished(). * \brief Function pointer to ast_ari_validate_playback_finished().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_playback_finished_fn(void); ari_validator ast_ari_validate_playback_finished_fn(void);
/*! /*!
* \brief Validator for PlaybackStarted. * \brief Validator for PlaybackStarted.
@@ -736,14 +736,14 @@ ari_validator ari_validate_playback_finished_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_playback_started(struct ast_json *json); int ast_ari_validate_playback_started(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_playback_started(). * \brief Function pointer to ast_ari_validate_playback_started().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_playback_started_fn(void); ari_validator ast_ari_validate_playback_started_fn(void);
/*! /*!
* \brief Validator for StasisEnd. * \brief Validator for StasisEnd.
@@ -754,14 +754,14 @@ ari_validator ari_validate_playback_started_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_stasis_end(struct ast_json *json); int ast_ari_validate_stasis_end(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_stasis_end(). * \brief Function pointer to ast_ari_validate_stasis_end().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_stasis_end_fn(void); ari_validator ast_ari_validate_stasis_end_fn(void);
/*! /*!
* \brief Validator for StasisStart. * \brief Validator for StasisStart.
@@ -772,14 +772,14 @@ ari_validator ari_validate_stasis_end_fn(void);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_stasis_start(struct ast_json *json); int ast_ari_validate_stasis_start(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_stasis_start(). * \brief Function pointer to ast_ari_validate_stasis_start().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_stasis_start_fn(void); ari_validator ast_ari_validate_stasis_start_fn(void);
/* /*
* JSON models * JSON models

View File

@@ -21,7 +21,7 @@
ASTERISK_FILE_VERSION(__FILE__, "$Revision$") ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/astobj2.h" #include "asterisk/astobj2.h"
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
/*! \file /*! \file
* *
@@ -29,14 +29,14 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \author David M. Lee, II <dlee@digium.com> * \author David M. Lee, II <dlee@digium.com>
*/ */
struct ari_websocket_session { struct ast_ari_websocket_session {
struct ast_websocket *ws_session; struct ast_websocket *ws_session;
int (*validator)(struct ast_json *); int (*validator)(struct ast_json *);
}; };
static void websocket_session_dtor(void *obj) static void websocket_session_dtor(void *obj)
{ {
struct ari_websocket_session *session = obj; struct ast_ari_websocket_session *session = obj;
ast_websocket_unref(session->ws_session); ast_websocket_unref(session->ws_session);
session->ws_session = NULL; session->ws_session = NULL;
@@ -50,10 +50,10 @@ static int null_validator(struct ast_json *json)
return 1; return 1;
} }
struct ari_websocket_session *ari_websocket_session_create( struct ast_ari_websocket_session *ast_ari_websocket_session_create(
struct ast_websocket *ws_session, int (*validator)(struct ast_json *)) struct ast_websocket *ws_session, int (*validator)(struct ast_json *))
{ {
RAII_VAR(struct ari_websocket_session *, session, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_websocket_session *, session, NULL, ao2_cleanup);
if (ws_session == NULL) { if (ws_session == NULL) {
return NULL; return NULL;
@@ -83,8 +83,8 @@ struct ari_websocket_session *ari_websocket_session_create(
return session; return session;
} }
struct ast_json *ari_websocket_session_read( struct ast_json *ast_ari_websocket_session_read(
struct ari_websocket_session *session) struct ast_ari_websocket_session *session)
{ {
RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); RAII_VAR(struct ast_json *, message, NULL, ast_json_unref);
@@ -139,7 +139,7 @@ struct ast_json *ari_websocket_session_read(
" \"message\": \"Message validation failed\"" \ " \"message\": \"Message validation failed\"" \
"}" "}"
int ari_websocket_session_write(struct ari_websocket_session *session, int ast_ari_websocket_session_write(struct ast_ari_websocket_session *session,
struct ast_json *message) struct ast_json *message)
{ {
RAII_VAR(char *, str, NULL, ast_free); RAII_VAR(char *, str, NULL, ast_free);
@@ -153,7 +153,7 @@ int ari_websocket_session_write(struct ari_websocket_session *session,
} }
#endif #endif
str = ast_json_dump_string_format(message, stasis_http_json_format()); str = ast_json_dump_string_format(message, ast_ari_json_format());
if (str == NULL) { if (str == NULL) {
ast_log(LOG_ERROR, "Failed to encode JSON object\n"); ast_log(LOG_ERROR, "Failed to encode JSON object\n");

View File

@@ -32,7 +32,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
static char *ari_show(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) static char *ari_show(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{ {
RAII_VAR(struct ari_conf *, conf, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf *, conf, NULL, ao2_cleanup);
switch (cmd) { switch (cmd) {
case CLI_INIT: case CLI_INIT:
@@ -51,7 +51,7 @@ static char *ari_show(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
return CLI_SHOWUSAGE; return CLI_SHOWUSAGE;
} }
conf = ari_config_get(); conf = ast_ari_config_get();
if (!conf) { if (!conf) {
ast_cli(a->fd, "Error getting ARI configuration\n"); ast_cli(a->fd, "Error getting ARI configuration\n");
@@ -78,7 +78,7 @@ static char *ari_show(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
static int show_users_cb(void *obj, void *arg, int flags) static int show_users_cb(void *obj, void *arg, int flags)
{ {
struct ari_conf_user *user = obj; struct ast_ari_conf_user *user = obj;
struct ast_cli_args *a = arg; struct ast_cli_args *a = arg;
ast_cli(a->fd, "%-4s %s\n", ast_cli(a->fd, "%-4s %s\n",
@@ -90,7 +90,7 @@ static int show_users_cb(void *obj, void *arg, int flags)
static char *ari_show_users(struct ast_cli_entry *e, int cmd, static char *ari_show_users(struct ast_cli_entry *e, int cmd,
struct ast_cli_args *a) struct ast_cli_args *a)
{ {
RAII_VAR(struct ari_conf *, conf, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf *, conf, NULL, ao2_cleanup);
switch (cmd) { switch (cmd) {
case CLI_INIT: case CLI_INIT:
@@ -109,7 +109,7 @@ static char *ari_show_users(struct ast_cli_entry *e, int cmd,
return CLI_SHOWUSAGE; return CLI_SHOWUSAGE;
} }
conf = ari_config_get(); conf = ast_ari_config_get();
if (!conf) { if (!conf) {
ast_cli(a->fd, "Error getting ARI configuration\n"); ast_cli(a->fd, "Error getting ARI configuration\n");
return CLI_FAILURE; return CLI_FAILURE;
@@ -142,14 +142,14 @@ static int complete_ari_user_search(void *obj, void *arg, void *data, int flags)
static char *complete_ari_user(struct ast_cli_args *a) static char *complete_ari_user(struct ast_cli_args *a)
{ {
RAII_VAR(struct ari_conf *, conf, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf *, conf, NULL, ao2_cleanup);
RAII_VAR(struct ari_conf_user *, user, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf_user *, user, NULL, ao2_cleanup);
struct user_complete search = { struct user_complete search = {
.state = a->n, .state = a->n,
}; };
conf = ari_config_get(); conf = ast_ari_config_get();
if (!conf) { if (!conf) {
ast_cli(a->fd, "Error getting ARI configuration\n"); ast_cli(a->fd, "Error getting ARI configuration\n");
return CLI_FAILURE; return CLI_FAILURE;
@@ -173,8 +173,8 @@ static char *complete_ari_show_user(struct ast_cli_args *a)
static char *ari_show_user(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) static char *ari_show_user(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{ {
RAII_VAR(struct ari_conf *, conf, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf *, conf, NULL, ao2_cleanup);
RAII_VAR(struct ari_conf_user *, user, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf_user *, user, NULL, ao2_cleanup);
switch (cmd) { switch (cmd) {
case CLI_INIT: case CLI_INIT:
@@ -193,7 +193,7 @@ static char *ari_show_user(struct ast_cli_entry *e, int cmd, struct ast_cli_args
return CLI_SHOWUSAGE; return CLI_SHOWUSAGE;
} }
conf = ari_config_get(); conf = ast_ari_config_get();
if (!conf) { if (!conf) {
ast_cli(a->fd, "Error getting ARI configuration\n"); ast_cli(a->fd, "Error getting ARI configuration\n");
@@ -258,10 +258,10 @@ static struct ast_cli_entry cli_ari[] = {
AST_CLI_DEFINE(ari_mkpasswd, "Encrypts a password"), AST_CLI_DEFINE(ari_mkpasswd, "Encrypts a password"),
}; };
int ari_cli_register(void) { int ast_ari_cli_register(void) {
return ast_cli_register_multiple(cli_ari, ARRAY_LEN(cli_ari)); return ast_cli_register_multiple(cli_ari, ARRAY_LEN(cli_ari));
} }
void ari_cli_unregister(void) { void ast_ari_cli_unregister(void) {
ast_cli_unregister_multiple(cli_ari, ARRAY_LEN(cli_ari)); ast_cli_unregister_multiple(cli_ari, ARRAY_LEN(cli_ari));
} }

View File

@@ -32,12 +32,12 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
/*! \brief Locking container for safe configuration access. */ /*! \brief Locking container for safe configuration access. */
static AO2_GLOBAL_OBJ_STATIC(confs); static AO2_GLOBAL_OBJ_STATIC(confs);
/*! \brief Mapping of the stasis http conf struct's globals to the /*! \brief Mapping of the ARI conf struct's globals to the
* general context in the config file. */ * general context in the config file. */
static struct aco_type general_option = { static struct aco_type general_option = {
.type = ACO_GLOBAL, .type = ACO_GLOBAL,
.name = "general", .name = "general",
.item_offset = offsetof(struct ari_conf, general), .item_offset = offsetof(struct ast_ari_conf, general),
.category = "^general$", .category = "^general$",
.category_match = ACO_WHITELIST, .category_match = ACO_WHITELIST,
}; };
@@ -48,7 +48,7 @@ static struct aco_type *general_options[] = ACO_TYPES(&general_option);
static int encoding_format_handler(const struct aco_option *opt, static int encoding_format_handler(const struct aco_option *opt,
struct ast_variable *var, void *obj) struct ast_variable *var, void *obj)
{ {
struct ari_conf_general *general = obj; struct ast_ari_conf_general *general = obj;
if (!strcasecmp(var->name, "pretty")) { if (!strcasecmp(var->name, "pretty")) {
general->format = ast_true(var->value) ? general->format = ast_true(var->value) ?
@@ -60,11 +60,11 @@ static int encoding_format_handler(const struct aco_option *opt,
return 0; return 0;
} }
/*! \brief Parses the ari_password_format enum from a config file */ /*! \brief Parses the ast_ari_password_format enum from a config file */
static int password_format_handler(const struct aco_option *opt, static int password_format_handler(const struct aco_option *opt,
struct ast_variable *var, void *obj) struct ast_variable *var, void *obj)
{ {
struct ari_conf_user *user = obj; struct ast_ari_conf_user *user = obj;
if (strcasecmp(var->value, "plain") == 0) { if (strcasecmp(var->value, "plain") == 0) {
user->password_format = ARI_PASSWORD_FORMAT_PLAIN; user->password_format = ARI_PASSWORD_FORMAT_PLAIN;
@@ -77,18 +77,18 @@ static int password_format_handler(const struct aco_option *opt,
return 0; return 0;
} }
/*! \brief Destructor for \ref ari_conf_user */ /*! \brief Destructor for \ref ast_ari_conf_user */
static void user_dtor(void *obj) static void user_dtor(void *obj)
{ {
struct ari_conf_user *user = obj; struct ast_ari_conf_user *user = obj;
ast_debug(3, "Disposing of user %s\n", user->username); ast_debug(3, "Disposing of user %s\n", user->username);
ast_free(user->username); ast_free(user->username);
} }
/*! \brief Allocate an \ref ari_conf_user for config parsing */ /*! \brief Allocate an \ref ast_ari_conf_user for config parsing */
static void *user_alloc(const char *cat) static void *user_alloc(const char *cat)
{ {
RAII_VAR(struct ari_conf_user *, user, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf_user *, user, NULL, ao2_cleanup);
if (!cat) { if (!cat) {
return NULL; return NULL;
@@ -114,7 +114,7 @@ static void *user_alloc(const char *cat)
/*! \brief Sorting function for use with red/black tree */ /*! \brief Sorting function for use with red/black tree */
static int user_sort_cmp(const void *obj_left, const void *obj_right, int flags) static int user_sort_cmp(const void *obj_left, const void *obj_right, int flags)
{ {
const struct ari_conf_user *user_left = obj_left; const struct ast_ari_conf_user *user_left = obj_left;
if (flags & OBJ_PARTIAL_KEY) { if (flags & OBJ_PARTIAL_KEY) {
const char *key_right = obj_right; const char *key_right = obj_right;
@@ -124,7 +124,7 @@ static int user_sort_cmp(const void *obj_left, const void *obj_right, int flags)
const char *key_right = obj_right; const char *key_right = obj_right;
return strcasecmp(user_left->username, key_right); return strcasecmp(user_left->username, key_right);
} else { } else {
const struct ari_conf_user *user_right = obj_right; const struct ast_ari_conf_user *user_right = obj_right;
const char *key_right = user_right->username; const char *key_right = user_right->username;
return strcasecmp(user_left->username, key_right); return strcasecmp(user_left->username, key_right);
} }
@@ -149,15 +149,15 @@ static struct aco_type user_option = {
.matchvalue = "user", .matchvalue = "user",
.item_alloc = user_alloc, .item_alloc = user_alloc,
.item_find = user_find, .item_find = user_find,
.item_offset = offsetof(struct ari_conf, users), .item_offset = offsetof(struct ast_ari_conf, users),
}; };
static struct aco_type *user[] = ACO_TYPES(&user_option); static struct aco_type *user[] = ACO_TYPES(&user_option);
/*! \brief \ref ari_conf destructor. */ /*! \brief \ref ast_ari_conf destructor. */
static void conf_destructor(void *obj) static void conf_destructor(void *obj)
{ {
struct ari_conf *cfg = obj; struct ast_ari_conf *cfg = obj;
ast_string_field_free_memory(cfg->general); ast_string_field_free_memory(cfg->general);
@@ -165,10 +165,10 @@ static void conf_destructor(void *obj)
ao2_cleanup(cfg->users); ao2_cleanup(cfg->users);
} }
/*! \brief Allocate an \ref ari_conf for config parsing */ /*! \brief Allocate an \ref ast_ari_conf for config parsing */
static void *conf_alloc(void) static void *conf_alloc(void)
{ {
RAII_VAR(struct ari_conf *, cfg, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf *, cfg, NULL, ao2_cleanup);
cfg = ao2_alloc_options(sizeof(*cfg), conf_destructor, cfg = ao2_alloc_options(sizeof(*cfg), conf_destructor,
AO2_ALLOC_OPT_LOCK_NOLOCK); AO2_ALLOC_OPT_LOCK_NOLOCK);
@@ -207,9 +207,9 @@ static struct aco_file conf_file = {
CONFIG_INFO_STANDARD(cfg_info, confs, conf_alloc, CONFIG_INFO_STANDARD(cfg_info, confs, conf_alloc,
.files = ACO_FILES(&conf_file)); .files = ACO_FILES(&conf_file));
struct ari_conf *ari_config_get(void) struct ast_ari_conf *ast_ari_config_get(void)
{ {
struct ari_conf *res = ao2_global_obj_ref(confs); struct ast_ari_conf *res = ao2_global_obj_ref(confs);
if (!res) { if (!res) {
ast_log(LOG_ERROR, ast_log(LOG_ERROR,
"Error obtaining config from " CONF_FILENAME "\n"); "Error obtaining config from " CONF_FILENAME "\n");
@@ -217,14 +217,14 @@ struct ari_conf *ari_config_get(void)
return res; return res;
} }
struct ari_conf_user *ari_config_validate_user(const char *username, struct ast_ari_conf_user *ast_ari_config_validate_user(const char *username,
const char *password) const char *password)
{ {
RAII_VAR(struct ari_conf *, conf, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf *, conf, NULL, ao2_cleanup);
RAII_VAR(struct ari_conf_user *, user, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf_user *, user, NULL, ao2_cleanup);
int is_valid = 0; int is_valid = 0;
conf = ari_config_get(); conf = ast_ari_config_get();
if (!conf) { if (!conf) {
return NULL; return NULL;
} }
@@ -261,7 +261,7 @@ struct ari_conf_user *ari_config_validate_user(const char *username,
/*! \brief Callback to validate a user object */ /*! \brief Callback to validate a user object */
static int validate_user_cb(void *obj, void *arg, int flags) static int validate_user_cb(void *obj, void *arg, int flags)
{ {
struct ari_conf_user *user = obj; struct ast_ari_conf_user *user = obj;
if (ast_strlen_zero(user->password)) { if (ast_strlen_zero(user->password)) {
ast_log(LOG_WARNING, "User '%s' missing password\n", ast_log(LOG_WARNING, "User '%s' missing password\n",
@@ -274,7 +274,7 @@ static int validate_user_cb(void *obj, void *arg, int flags)
/*! \brief Load (or reload) configuration. */ /*! \brief Load (or reload) configuration. */
static int process_config(int reload) static int process_config(int reload)
{ {
RAII_VAR(struct ari_conf *, conf, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf *, conf, NULL, ao2_cleanup);
switch (aco_process_config(&cfg_info, reload)) { switch (aco_process_config(&cfg_info, reload)) {
case ACO_PROCESS_ERROR: case ACO_PROCESS_ERROR:
@@ -284,7 +284,7 @@ static int process_config(int reload)
break; break;
} }
conf = ari_config_get(); conf = ast_ari_config_get();
if (!conf) { if (!conf) {
ast_assert(0); /* We just configured; it should be there */ ast_assert(0); /* We just configured; it should be there */
return -1; return -1;
@@ -299,7 +299,7 @@ static int process_config(int reload)
return 0; return 0;
} }
int ari_config_init(void) int ast_ari_config_init(void)
{ {
if (aco_info_init(&cfg_info)) { if (aco_info_init(&cfg_info)) {
aco_info_destroy(&cfg_info); aco_info_destroy(&cfg_info);
@@ -308,37 +308,37 @@ int ari_config_init(void)
aco_option_register(&cfg_info, "enabled", ACO_EXACT, general_options, aco_option_register(&cfg_info, "enabled", ACO_EXACT, general_options,
"yes", OPT_BOOL_T, 1, "yes", OPT_BOOL_T, 1,
FLDSET(struct ari_conf_general, enabled)); FLDSET(struct ast_ari_conf_general, enabled));
aco_option_register_custom(&cfg_info, "pretty", ACO_EXACT, aco_option_register_custom(&cfg_info, "pretty", ACO_EXACT,
general_options, "no", encoding_format_handler, 0); general_options, "no", encoding_format_handler, 0);
aco_option_register(&cfg_info, "auth_realm", ACO_EXACT, general_options, aco_option_register(&cfg_info, "auth_realm", ACO_EXACT, general_options,
"Asterisk REST Interface", OPT_CHAR_ARRAY_T, 0, "Asterisk REST Interface", OPT_CHAR_ARRAY_T, 0,
FLDSET(struct ari_conf_general, auth_realm), FLDSET(struct ast_ari_conf_general, auth_realm),
ARI_AUTH_REALM_LEN); ARI_AUTH_REALM_LEN);
aco_option_register(&cfg_info, "allowed_origins", ACO_EXACT, general_options, aco_option_register(&cfg_info, "allowed_origins", ACO_EXACT, general_options,
"", OPT_STRINGFIELD_T, 0, "", OPT_STRINGFIELD_T, 0,
STRFLDSET(struct ari_conf_general, allowed_origins)); STRFLDSET(struct ast_ari_conf_general, allowed_origins));
aco_option_register(&cfg_info, "type", ACO_EXACT, user, NULL, aco_option_register(&cfg_info, "type", ACO_EXACT, user, NULL,
OPT_NOOP_T, 0, 0); OPT_NOOP_T, 0, 0);
aco_option_register(&cfg_info, "read_only", ACO_EXACT, user, aco_option_register(&cfg_info, "read_only", ACO_EXACT, user,
"no", OPT_BOOL_T, 1, "no", OPT_BOOL_T, 1,
FLDSET(struct ari_conf_user, read_only)); FLDSET(struct ast_ari_conf_user, read_only));
aco_option_register(&cfg_info, "password", ACO_EXACT, user, aco_option_register(&cfg_info, "password", ACO_EXACT, user,
"", OPT_CHAR_ARRAY_T, 0, "", OPT_CHAR_ARRAY_T, 0,
FLDSET(struct ari_conf_user, password), ARI_PASSWORD_LEN); FLDSET(struct ast_ari_conf_user, password), ARI_PASSWORD_LEN);
aco_option_register_custom(&cfg_info, "password_format", ACO_EXACT, aco_option_register_custom(&cfg_info, "password_format", ACO_EXACT,
user, "plain", password_format_handler, 0); user, "plain", password_format_handler, 0);
return process_config(0); return process_config(0);
} }
int ari_config_reload(void) int ast_ari_config_reload(void)
{ {
return process_config(1); return process_config(1);
} }
void ari_config_destroy(void) void ast_ari_config_destroy(void)
{ {
aco_info_destroy(&cfg_info); aco_info_destroy(&cfg_info);
ao2_global_obj_release(confs); ao2_global_obj_release(confs);

View File

@@ -16,12 +16,12 @@
* at the top of the source tree. * at the top of the source tree.
*/ */
#ifndef STASIS_HTTP_INTERNAL_H_ #ifndef ARI_INTERNAL_H_
#define STASIS_HTTP_INTERNAL_H_ #define ARI_INTERNAL_H_
/*! \file /*! \file
* *
* \brief Internal API's for res_stasis_http. * \brief Internal API's for res_ari.
* \author David M. Lee, II <dlee@digium.com> * \author David M. Lee, II <dlee@digium.com>
*/ */
@@ -35,23 +35,23 @@
* \return 0 on success. * \return 0 on success.
* \return Non-zero on error. * \return Non-zero on error.
*/ */
int ari_cli_register(void); int ast_ari_cli_register(void);
/*! /*!
* \brief Unregister CLI commands for ARI. * \brief Unregister CLI commands for ARI.
*/ */
void ari_cli_unregister(void); void ast_ari_cli_unregister(void);
/*! @} */ /*! @} */
/*! @{ */ /*! @{ */
struct ari_conf_general; struct ast_ari_conf_general;
/*! \brief All configuration options for stasis http. */ /*! \brief All configuration options for ARI. */
struct ari_conf { struct ast_ari_conf {
/*! The general section configuration options. */ /*! The general section configuration options. */
struct ari_conf_general *general; struct ast_ari_conf_general *general;
/*! Configured users */ /*! Configured users */
struct ao2_container *users; struct ao2_container *users;
}; };
@@ -59,8 +59,8 @@ struct ari_conf {
/*! Max length for auth_realm field */ /*! Max length for auth_realm field */
#define ARI_AUTH_REALM_LEN 80 #define ARI_AUTH_REALM_LEN 80
/*! \brief Global configuration options for stasis http. */ /*! \brief Global configuration options for ARI. */
struct ari_conf_general { struct ast_ari_conf_general {
/*! Enabled by default, disabled if false. */ /*! Enabled by default, disabled if false. */
int enabled; int enabled;
/*! Encoding format used during output (default compact). */ /*! Encoding format used during output (default compact). */
@@ -74,7 +74,7 @@ struct ari_conf_general {
}; };
/*! \brief Password format */ /*! \brief Password format */
enum ari_password_format { enum ast_ari_password_format {
/*! \brief Plaintext password */ /*! \brief Plaintext password */
ARI_PASSWORD_FORMAT_PLAIN, ARI_PASSWORD_FORMAT_PLAIN,
/*! crypt(3) password */ /*! crypt(3) password */
@@ -89,13 +89,13 @@ enum ari_password_format {
#define ARI_PASSWORD_LEN 256 #define ARI_PASSWORD_LEN 256
/*! \brief Per-user configuration options */ /*! \brief Per-user configuration options */
struct ari_conf_user { struct ast_ari_conf_user {
/*! Username for authentication */ /*! Username for authentication */
char *username; char *username;
/*! User's password. */ /*! User's password. */
char password[ARI_PASSWORD_LEN]; char password[ARI_PASSWORD_LEN];
/*! Format for the password field */ /*! Format for the password field */
enum ari_password_format password_format; enum ast_ari_password_format password_format;
/*! If true, user cannot execute change operations */ /*! If true, user cannot execute change operations */
int read_only; int read_only;
}; };
@@ -103,17 +103,17 @@ struct ari_conf_user {
/*! /*!
* \brief Initialize the ARI configuration * \brief Initialize the ARI configuration
*/ */
int ari_config_init(void); int ast_ari_config_init(void);
/*! /*!
* \brief Reload the ARI configuration * \brief Reload the ARI configuration
*/ */
int ari_config_reload(void); int ast_ari_config_reload(void);
/*! /*!
* \brief Destroy the ARI configuration * \brief Destroy the ARI configuration
*/ */
void ari_config_destroy(void); void ast_ari_config_destroy(void);
/*! /*!
* \brief Get the current ARI configuration. * \brief Get the current ARI configuration.
@@ -124,7 +124,7 @@ void ari_config_destroy(void);
* \return ARI configuration object. * \return ARI configuration object.
* \return \c NULL on error. * \return \c NULL on error.
*/ */
struct ari_conf *ari_config_get(void); struct ast_ari_conf *ast_ari_config_get(void);
/*! /*!
* \brief Validated a user's credentials. * \brief Validated a user's credentials.
@@ -134,10 +134,10 @@ struct ari_conf *ari_config_get(void);
* \return User object. * \return User object.
* \return \c NULL if username or password is invalid. * \return \c NULL if username or password is invalid.
*/ */
struct ari_conf_user *ari_config_validate_user(const char *username, struct ast_ari_conf_user *ast_ari_config_validate_user(const char *username,
const char *password); const char *password);
/*! @} */ /*! @} */
#endif /* STASIS_HTTP_INTERNAL_H_ */ #endif /* ARI_INTERNAL_H_ */

View File

@@ -18,7 +18,7 @@
/*! \file /*! \file
* *
* \brief Implementation for stasis-http stubs. * \brief Implementation for ARI stubs.
* *
* \author David M. Lee, II <dlee@digium.com> * \author David M. Lee, II <dlee@digium.com>
*/ */
@@ -34,12 +34,12 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "resource_asterisk.h" #include "resource_asterisk.h"
#include "asterisk/pbx.h" #include "asterisk/pbx.h"
void stasis_http_get_asterisk_info(struct ast_variable *headers, struct ast_get_asterisk_info_args *args, struct stasis_http_response *response) void ast_ari_get_asterisk_info(struct ast_variable *headers, struct ast_get_asterisk_info_args *args, struct ast_ari_response *response)
{ {
ast_log(LOG_ERROR, "TODO: stasis_http_get_asterisk_info\n"); ast_log(LOG_ERROR, "TODO: ari_get_asterisk_info\n");
} }
void stasis_http_get_global_var(struct ast_variable *headers, struct ast_get_global_var_args *args, struct stasis_http_response *response) void ast_ari_get_global_var(struct ast_variable *headers, struct ast_get_global_var_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_json *, json, NULL, ast_json_unref); RAII_VAR(struct ast_json *, json, NULL, ast_json_unref);
RAII_VAR(struct ast_str *, tmp, ast_str_create(32), ast_free); RAII_VAR(struct ast_str *, tmp, ast_str_create(32), ast_free);
@@ -49,26 +49,26 @@ void stasis_http_get_global_var(struct ast_variable *headers, struct ast_get_glo
ast_assert(response != NULL); ast_assert(response != NULL);
if (!tmp) { if (!tmp) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
value = ast_str_retrieve_variable(&tmp, 0, NULL, NULL, args->variable); value = ast_str_retrieve_variable(&tmp, 0, NULL, NULL, args->variable);
if (!(json = ast_json_pack("{s: s}", "value", S_OR(value, "")))) { if (!(json = ast_json_pack("{s: s}", "value", S_OR(value, "")))) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
stasis_http_response_ok(response, ast_json_ref(json)); ast_ari_response_ok(response, ast_json_ref(json));
} }
void stasis_http_set_global_var(struct ast_variable *headers, struct ast_set_global_var_args *args, struct stasis_http_response *response) void ast_ari_set_global_var(struct ast_variable *headers, struct ast_set_global_var_args *args, struct ast_ari_response *response)
{ {
ast_assert(response != NULL); ast_assert(response != NULL);
if (ast_strlen_zero(args->variable)) { if (ast_strlen_zero(args->variable)) {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"Variable name is required"); "Variable name is required");
return; return;
@@ -76,5 +76,5 @@ void stasis_http_set_global_var(struct ast_variable *headers, struct ast_set_glo
pbx_builtin_setvar_helper(NULL, args->variable, args->value); pbx_builtin_setvar_helper(NULL, args->variable, args->value);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }

View File

@@ -19,7 +19,7 @@
/*! \file /*! \file
* *
* \brief Generated file - declares stubs to be implemented in * \brief Generated file - declares stubs to be implemented in
* res/stasis_http/resource_asterisk.c * res/ari/resource_asterisk.c
* *
* Asterisk resources * Asterisk resources
* *
@@ -31,15 +31,15 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/stasis_http_resource.h.mustache * template in rest-api-templates/ari_resource.h.mustache
*/ */
#ifndef _ASTERISK_RESOURCE_ASTERISK_H #ifndef _ASTERISK_RESOURCE_ASTERISK_H
#define _ASTERISK_RESOURCE_ASTERISK_H #define _ASTERISK_RESOURCE_ASTERISK_H
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
/*! \brief Argument struct for stasis_http_get_asterisk_info() */ /*! \brief Argument struct for ast_ari_get_asterisk_info() */
struct ast_get_asterisk_info_args { struct ast_get_asterisk_info_args {
/*! \brief Filter information returned */ /*! \brief Filter information returned */
const char *only; const char *only;
@@ -51,8 +51,8 @@ struct ast_get_asterisk_info_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_asterisk_info(struct ast_variable *headers, struct ast_get_asterisk_info_args *args, struct stasis_http_response *response); void ast_ari_get_asterisk_info(struct ast_variable *headers, struct ast_get_asterisk_info_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_get_global_var() */ /*! \brief Argument struct for ast_ari_get_global_var() */
struct ast_get_global_var_args { struct ast_get_global_var_args {
/*! \brief The variable to get */ /*! \brief The variable to get */
const char *variable; const char *variable;
@@ -64,8 +64,8 @@ struct ast_get_global_var_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_global_var(struct ast_variable *headers, struct ast_get_global_var_args *args, struct stasis_http_response *response); void ast_ari_get_global_var(struct ast_variable *headers, struct ast_get_global_var_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_set_global_var() */ /*! \brief Argument struct for ast_ari_set_global_var() */
struct ast_set_global_var_args { struct ast_set_global_var_args {
/*! \brief The variable to set */ /*! \brief The variable to set */
const char *variable; const char *variable;
@@ -79,6 +79,6 @@ struct ast_set_global_var_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_set_global_var(struct ast_variable *headers, struct ast_set_global_var_args *args, struct stasis_http_response *response); void ast_ari_set_global_var(struct ast_variable *headers, struct ast_set_global_var_args *args, struct ast_ari_response *response);
#endif /* _ASTERISK_RESOURCE_ASTERISK_H */ #endif /* _ASTERISK_RESOURCE_ASTERISK_H */

View File

@@ -18,7 +18,7 @@
/*! \file /*! \file
* *
* \brief Implementation for stasis-http stubs. * \brief Implementation for ARI stubs.
* *
* \author David M. Lee, II <dlee@digium.com> * \author David M. Lee, II <dlee@digium.com>
*/ */
@@ -54,7 +54,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \return \c NULL if bridge does not exist. * \return \c NULL if bridge does not exist.
*/ */
static struct ast_bridge *find_bridge( static struct ast_bridge *find_bridge(
struct stasis_http_response *response, struct ast_ari_response *response,
const char *bridge_id) const char *bridge_id)
{ {
RAII_VAR(struct ast_bridge *, bridge, NULL, ao2_cleanup); RAII_VAR(struct ast_bridge *, bridge, NULL, ao2_cleanup);
@@ -66,12 +66,12 @@ static struct ast_bridge *find_bridge(
RAII_VAR(struct ast_bridge_snapshot *, snapshot, RAII_VAR(struct ast_bridge_snapshot *, snapshot,
ast_bridge_snapshot_get_latest(bridge_id), ao2_cleanup); ast_bridge_snapshot_get_latest(bridge_id), ao2_cleanup);
if (!snapshot) { if (!snapshot) {
stasis_http_response_error(response, 404, "Not found", ast_ari_response_error(response, 404, "Not found",
"Bridge not found"); "Bridge not found");
return NULL; return NULL;
} }
stasis_http_response_error(response, 409, "Conflict", ast_ari_response_error(response, 409, "Conflict",
"Bridge not in Stasis application"); "Bridge not in Stasis application");
return NULL; return NULL;
} }
@@ -89,7 +89,7 @@ static struct ast_bridge *find_bridge(
* \return \c NULL if control object does not exist. * \return \c NULL if control object does not exist.
*/ */
static struct stasis_app_control *find_channel_control( static struct stasis_app_control *find_channel_control(
struct stasis_http_response *response, struct ast_ari_response *response,
const char *channel_id) const char *channel_id)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -98,7 +98,7 @@ static struct stasis_app_control *find_channel_control(
control = stasis_app_control_find_by_channel_id(channel_id); control = stasis_app_control_find_by_channel_id(channel_id);
if (control == NULL) { if (control == NULL) {
stasis_http_response_error(response, 422, "Unprocessable Entity", ast_ari_response_error(response, 422, "Unprocessable Entity",
"Channel not in Stasis application"); "Channel not in Stasis application");
return NULL; return NULL;
} }
@@ -107,7 +107,7 @@ static struct stasis_app_control *find_channel_control(
return control; return control;
} }
void stasis_http_add_channel_to_bridge(struct ast_variable *headers, struct ast_add_channel_to_bridge_args *args, struct stasis_http_response *response) void ast_ari_add_channel_to_bridge(struct ast_variable *headers, struct ast_add_channel_to_bridge_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_bridge *, bridge, find_bridge(response, args->bridge_id), ao2_cleanup); RAII_VAR(struct ast_bridge *, bridge, find_bridge(response, args->bridge_id), ao2_cleanup);
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -121,10 +121,10 @@ void stasis_http_add_channel_to_bridge(struct ast_variable *headers, struct ast_
} }
stasis_app_control_add_channel_to_bridge(control, bridge); stasis_app_control_add_channel_to_bridge(control, bridge);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_remove_channel_from_bridge(struct ast_variable *headers, struct ast_remove_channel_from_bridge_args *args, struct stasis_http_response *response) void ast_ari_remove_channel_from_bridge(struct ast_variable *headers, struct ast_remove_channel_from_bridge_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_bridge *, bridge, find_bridge(response, args->bridge_id), ao2_cleanup); RAII_VAR(struct ast_bridge *, bridge, find_bridge(response, args->bridge_id), ao2_cleanup);
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -142,12 +142,12 @@ void stasis_http_remove_channel_from_bridge(struct ast_variable *headers, struct
* is added to the channel snapshot. A 409 response should be issued if the bridge * is added to the channel snapshot. A 409 response should be issued if the bridge
* uniqueids don't match */ * uniqueids don't match */
if (stasis_app_control_remove_channel_from_bridge(control, bridge)) { if (stasis_app_control_remove_channel_from_bridge(control, bridge)) {
stasis_http_response_error(response, 500, "Internal Error", ast_ari_response_error(response, 500, "Internal Error",
"Could not remove channel from bridge"); "Could not remove channel from bridge");
return; return;
} }
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
struct bridge_channel_control_thread_data { struct bridge_channel_control_thread_data {
@@ -196,7 +196,7 @@ static struct ast_channel *prepare_bridge_media_channel(const char *type)
return ast_request(type, cap, NULL, "ARI", NULL); return ast_request(type, cap, NULL, "ARI", NULL);
} }
void stasis_http_play_on_bridge(struct ast_variable *headers, struct ast_play_on_bridge_args *args, struct stasis_http_response *response) void ast_ari_play_on_bridge(struct ast_variable *headers, struct ast_play_on_bridge_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_bridge *, bridge, find_bridge(response, args->bridge_id), ao2_cleanup); RAII_VAR(struct ast_bridge *, bridge, find_bridge(response, args->bridge_id), ao2_cleanup);
RAII_VAR(struct ast_channel *, play_channel, NULL, ast_hangup); RAII_VAR(struct ast_channel *, play_channel, NULL, ast_hangup);
@@ -217,27 +217,27 @@ void stasis_http_play_on_bridge(struct ast_variable *headers, struct ast_play_on
} }
if (!(play_channel = prepare_bridge_media_channel("Announcer"))) { if (!(play_channel = prepare_bridge_media_channel("Announcer"))) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Error", "Could not create playback channel"); response, 500, "Internal Error", "Could not create playback channel");
return; return;
} }
ast_debug(1, "Created announcer channel '%s'\n", ast_channel_name(play_channel)); ast_debug(1, "Created announcer channel '%s'\n", ast_channel_name(play_channel));
if (ast_unreal_channel_push_to_bridge(play_channel, bridge)) { if (ast_unreal_channel_push_to_bridge(play_channel, bridge)) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Error", "Failed to put playback channel into the bridge"); response, 500, "Internal Error", "Failed to put playback channel into the bridge");
return; return;
} }
control = stasis_app_control_create(play_channel); control = stasis_app_control_create(play_channel);
if (control == NULL) { if (control == NULL) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
snapshot = stasis_app_control_get_snapshot(control); snapshot = stasis_app_control_get_snapshot(control);
if (!snapshot) { if (!snapshot) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Error", "Failed to get control snapshot"); response, 500, "Internal Error", "Failed to get control snapshot");
return; return;
} }
@@ -249,7 +249,7 @@ void stasis_http_play_on_bridge(struct ast_variable *headers, struct ast_play_on
args->offsetms); args->offsetms);
if (!playback) { if (!playback) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -257,20 +257,20 @@ void stasis_http_play_on_bridge(struct ast_variable *headers, struct ast_play_on
stasis_app_playback_get_id(playback)); stasis_app_playback_get_id(playback));
if (!playback_url) { if (!playback_url) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
json = stasis_app_playback_to_json(playback); json = stasis_app_playback_to_json(playback);
if (!json) { if (!json) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
/* Give play_channel and control reference to the thread data */ /* Give play_channel and control reference to the thread data */
thread_data = ast_calloc(1, sizeof(*thread_data)); thread_data = ast_calloc(1, sizeof(*thread_data));
if (!thread_data) { if (!thread_data) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -278,7 +278,7 @@ void stasis_http_play_on_bridge(struct ast_variable *headers, struct ast_play_on
thread_data->control = control; thread_data->control = control;
if (ast_pthread_create_detached(&threadid, NULL, bridge_channel_control_thread, thread_data)) { if (ast_pthread_create_detached(&threadid, NULL, bridge_channel_control_thread, thread_data)) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
ast_free(thread_data); ast_free(thread_data);
return; return;
} }
@@ -287,10 +287,10 @@ void stasis_http_play_on_bridge(struct ast_variable *headers, struct ast_play_on
play_channel = NULL; play_channel = NULL;
control = NULL; control = NULL;
stasis_http_response_created(response, playback_url, json); ast_ari_response_created(response, playback_url, json);
} }
void stasis_http_record_bridge(struct ast_variable *headers, struct ast_record_bridge_args *args, struct stasis_http_response *response) void ast_ari_record_bridge(struct ast_variable *headers, struct ast_record_bridge_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_bridge *, bridge, find_bridge(response, args->bridge_id), ao2_cleanup); RAII_VAR(struct ast_bridge *, bridge, find_bridge(response, args->bridge_id), ao2_cleanup);
RAII_VAR(struct ast_channel *, record_channel, NULL, ast_hangup); RAII_VAR(struct ast_channel *, record_channel, NULL, ast_hangup);
@@ -312,26 +312,26 @@ void stasis_http_record_bridge(struct ast_variable *headers, struct ast_record_b
} }
if (!(record_channel = prepare_bridge_media_channel("Recorder"))) { if (!(record_channel = prepare_bridge_media_channel("Recorder"))) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", "Failed to create recording channel"); response, 500, "Internal Server Error", "Failed to create recording channel");
return; return;
} }
if (ast_unreal_channel_push_to_bridge(record_channel, bridge)) { if (ast_unreal_channel_push_to_bridge(record_channel, bridge)) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Error", "Failed to put recording channel into the bridge"); response, 500, "Internal Error", "Failed to put recording channel into the bridge");
return; return;
} }
control = stasis_app_control_create(record_channel); control = stasis_app_control_create(record_channel);
if (control == NULL) { if (control == NULL) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
options = stasis_app_recording_options_create(args->name, args->format); options = stasis_app_recording_options_create(args->name, args->format);
if (options == NULL) { if (options == NULL) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -350,20 +350,20 @@ void stasis_http_record_bridge(struct ast_variable *headers, struct ast_record_b
/* While the arguments are invalid, we should have /* While the arguments are invalid, we should have
* caught them prior to calling record. * caught them prior to calling record.
*/ */
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Error parsing request"); "Error parsing request");
break; break;
case EEXIST: case EEXIST:
stasis_http_response_error(response, 409, "Conflict", ast_ari_response_error(response, 409, "Conflict",
"Recording '%s' already in progress", "Recording '%s' already in progress",
args->name); args->name);
break; break;
case ENOMEM: case ENOMEM:
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
break; break;
case EPERM: case EPERM:
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"Recording name invalid"); "Recording name invalid");
break; break;
@@ -371,7 +371,7 @@ void stasis_http_record_bridge(struct ast_variable *headers, struct ast_record_b
ast_log(LOG_WARNING, ast_log(LOG_WARNING,
"Unrecognized recording error: %s\n", "Unrecognized recording error: %s\n",
strerror(errno)); strerror(errno));
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Internal Server Error"); "Internal Server Error");
break; break;
@@ -382,26 +382,26 @@ void stasis_http_record_bridge(struct ast_variable *headers, struct ast_record_b
uri_name_maxlen = strlen(args->name) * 3; uri_name_maxlen = strlen(args->name) * 3;
uri_encoded_name = ast_malloc(uri_name_maxlen); uri_encoded_name = ast_malloc(uri_name_maxlen);
if (!uri_encoded_name) { if (!uri_encoded_name) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
ast_uri_encode(args->name, uri_encoded_name, uri_name_maxlen, ast_uri_http); ast_uri_encode(args->name, uri_encoded_name, uri_name_maxlen, ast_uri_http);
ast_asprintf(&recording_url, "/recordings/live/%s", uri_encoded_name); ast_asprintf(&recording_url, "/recordings/live/%s", uri_encoded_name);
if (!recording_url) { if (!recording_url) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
json = stasis_app_recording_to_json(recording); json = stasis_app_recording_to_json(recording);
if (!json) { if (!json) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
thread_data = ast_calloc(1, sizeof(*thread_data)); thread_data = ast_calloc(1, sizeof(*thread_data));
if (!thread_data) { if (!thread_data) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -409,7 +409,7 @@ void stasis_http_record_bridge(struct ast_variable *headers, struct ast_record_b
thread_data->control = control; thread_data->control = control;
if (ast_pthread_create_detached(&threadid, NULL, bridge_channel_control_thread, thread_data)) { if (ast_pthread_create_detached(&threadid, NULL, bridge_channel_control_thread, thread_data)) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
ast_free(thread_data); ast_free(thread_data);
return; return;
} }
@@ -418,24 +418,24 @@ void stasis_http_record_bridge(struct ast_variable *headers, struct ast_record_b
record_channel = NULL; record_channel = NULL;
control = NULL; control = NULL;
stasis_http_response_created(response, recording_url, json); ast_ari_response_created(response, recording_url, json);
} }
void stasis_http_get_bridge(struct ast_variable *headers, struct ast_get_bridge_args *args, struct stasis_http_response *response) void ast_ari_get_bridge(struct ast_variable *headers, struct ast_get_bridge_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_bridge_snapshot *, snapshot, ast_bridge_snapshot_get_latest(args->bridge_id), ao2_cleanup); RAII_VAR(struct ast_bridge_snapshot *, snapshot, ast_bridge_snapshot_get_latest(args->bridge_id), ao2_cleanup);
if (!snapshot) { if (!snapshot) {
stasis_http_response_error( ast_ari_response_error(
response, 404, "Not Found", response, 404, "Not Found",
"Bridge not found"); "Bridge not found");
return; return;
} }
stasis_http_response_ok(response, ast_ari_response_ok(response,
ast_bridge_snapshot_to_json(snapshot)); ast_bridge_snapshot_to_json(snapshot));
} }
void stasis_http_delete_bridge(struct ast_variable *headers, struct ast_delete_bridge_args *args, struct stasis_http_response *response) void ast_ari_delete_bridge(struct ast_variable *headers, struct ast_delete_bridge_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_bridge *, bridge, find_bridge(response, args->bridge_id), ao2_cleanup); RAII_VAR(struct ast_bridge *, bridge, find_bridge(response, args->bridge_id), ao2_cleanup);
if (!bridge) { if (!bridge) {
@@ -443,10 +443,10 @@ void stasis_http_delete_bridge(struct ast_variable *headers, struct ast_delete_b
} }
stasis_app_bridge_destroy(args->bridge_id); stasis_app_bridge_destroy(args->bridge_id);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_get_bridges(struct ast_variable *headers, struct ast_get_bridges_args *args, struct stasis_http_response *response) void ast_ari_get_bridges(struct ast_variable *headers, struct ast_get_bridges_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_caching_topic *, caching_topic, NULL, ao2_cleanup); RAII_VAR(struct stasis_caching_topic *, caching_topic, NULL, ao2_cleanup);
RAII_VAR(struct ao2_container *, snapshots, NULL, ao2_cleanup); RAII_VAR(struct ao2_container *, snapshots, NULL, ao2_cleanup);
@@ -456,7 +456,7 @@ void stasis_http_get_bridges(struct ast_variable *headers, struct ast_get_bridge
caching_topic = ast_bridge_topic_all_cached(); caching_topic = ast_bridge_topic_all_cached();
if (!caching_topic) { if (!caching_topic) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Message bus not initialized"); "Message bus not initialized");
return; return;
@@ -465,13 +465,13 @@ void stasis_http_get_bridges(struct ast_variable *headers, struct ast_get_bridge
snapshots = stasis_cache_dump(caching_topic, ast_bridge_snapshot_type()); snapshots = stasis_cache_dump(caching_topic, ast_bridge_snapshot_type());
if (!snapshots) { if (!snapshots) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
json = ast_json_array_create(); json = ast_json_array_create();
if (!json) { if (!json) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -480,22 +480,22 @@ void stasis_http_get_bridges(struct ast_variable *headers, struct ast_get_bridge
RAII_VAR(struct stasis_message *, msg, obj, ao2_cleanup); RAII_VAR(struct stasis_message *, msg, obj, ao2_cleanup);
struct ast_bridge_snapshot *snapshot = stasis_message_data(msg); struct ast_bridge_snapshot *snapshot = stasis_message_data(msg);
if (ast_json_array_append(json, ast_bridge_snapshot_to_json(snapshot))) { if (ast_json_array_append(json, ast_bridge_snapshot_to_json(snapshot))) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
} }
ao2_iterator_destroy(&i); ao2_iterator_destroy(&i);
stasis_http_response_ok(response, ast_json_ref(json)); ast_ari_response_ok(response, ast_json_ref(json));
} }
void stasis_http_new_bridge(struct ast_variable *headers, struct ast_new_bridge_args *args, struct stasis_http_response *response) void ast_ari_new_bridge(struct ast_variable *headers, struct ast_new_bridge_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_bridge *, bridge, stasis_app_bridge_create(args->type), ao2_cleanup); RAII_VAR(struct ast_bridge *, bridge, stasis_app_bridge_create(args->type), ao2_cleanup);
RAII_VAR(struct ast_bridge_snapshot *, snapshot, NULL, ao2_cleanup); RAII_VAR(struct ast_bridge_snapshot *, snapshot, NULL, ao2_cleanup);
if (!bridge) { if (!bridge) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Error", response, 500, "Internal Error",
"Unable to create bridge"); "Unable to create bridge");
return; return;
@@ -503,12 +503,12 @@ void stasis_http_new_bridge(struct ast_variable *headers, struct ast_new_bridge_
snapshot = ast_bridge_snapshot_create(bridge); snapshot = ast_bridge_snapshot_create(bridge);
if (!snapshot) { if (!snapshot) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Error", response, 500, "Internal Error",
"Unable to create snapshot for new bridge"); "Unable to create snapshot for new bridge");
return; return;
} }
stasis_http_response_ok(response, ast_ari_response_ok(response,
ast_bridge_snapshot_to_json(snapshot)); ast_bridge_snapshot_to_json(snapshot));
} }

View File

@@ -19,7 +19,7 @@
/*! \file /*! \file
* *
* \brief Generated file - declares stubs to be implemented in * \brief Generated file - declares stubs to be implemented in
* res/stasis_http/resource_bridges.c * res/ari/resource_bridges.c
* *
* Bridge resources * Bridge resources
* *
@@ -31,15 +31,15 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/stasis_http_resource.h.mustache * template in rest-api-templates/ari_resource.h.mustache
*/ */
#ifndef _ASTERISK_RESOURCE_BRIDGES_H #ifndef _ASTERISK_RESOURCE_BRIDGES_H
#define _ASTERISK_RESOURCE_BRIDGES_H #define _ASTERISK_RESOURCE_BRIDGES_H
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
/*! \brief Argument struct for stasis_http_get_bridges() */ /*! \brief Argument struct for ast_ari_get_bridges() */
struct ast_get_bridges_args { struct ast_get_bridges_args {
}; };
/*! /*!
@@ -49,8 +49,8 @@ struct ast_get_bridges_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_bridges(struct ast_variable *headers, struct ast_get_bridges_args *args, struct stasis_http_response *response); void ast_ari_get_bridges(struct ast_variable *headers, struct ast_get_bridges_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_new_bridge() */ /*! \brief Argument struct for ast_ari_new_bridge() */
struct ast_new_bridge_args { struct ast_new_bridge_args {
/*! \brief Type of bridge to create. */ /*! \brief Type of bridge to create. */
const char *type; const char *type;
@@ -64,8 +64,8 @@ struct ast_new_bridge_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_new_bridge(struct ast_variable *headers, struct ast_new_bridge_args *args, struct stasis_http_response *response); void ast_ari_new_bridge(struct ast_variable *headers, struct ast_new_bridge_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_get_bridge() */ /*! \brief Argument struct for ast_ari_get_bridge() */
struct ast_get_bridge_args { struct ast_get_bridge_args {
/*! \brief Bridge's id */ /*! \brief Bridge's id */
const char *bridge_id; const char *bridge_id;
@@ -77,8 +77,8 @@ struct ast_get_bridge_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_bridge(struct ast_variable *headers, struct ast_get_bridge_args *args, struct stasis_http_response *response); void ast_ari_get_bridge(struct ast_variable *headers, struct ast_get_bridge_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_delete_bridge() */ /*! \brief Argument struct for ast_ari_delete_bridge() */
struct ast_delete_bridge_args { struct ast_delete_bridge_args {
/*! \brief Bridge's id */ /*! \brief Bridge's id */
const char *bridge_id; const char *bridge_id;
@@ -92,8 +92,8 @@ struct ast_delete_bridge_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_delete_bridge(struct ast_variable *headers, struct ast_delete_bridge_args *args, struct stasis_http_response *response); void ast_ari_delete_bridge(struct ast_variable *headers, struct ast_delete_bridge_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_add_channel_to_bridge() */ /*! \brief Argument struct for ast_ari_add_channel_to_bridge() */
struct ast_add_channel_to_bridge_args { struct ast_add_channel_to_bridge_args {
/*! \brief Bridge's id */ /*! \brief Bridge's id */
const char *bridge_id; const char *bridge_id;
@@ -107,8 +107,8 @@ struct ast_add_channel_to_bridge_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_add_channel_to_bridge(struct ast_variable *headers, struct ast_add_channel_to_bridge_args *args, struct stasis_http_response *response); void ast_ari_add_channel_to_bridge(struct ast_variable *headers, struct ast_add_channel_to_bridge_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_remove_channel_from_bridge() */ /*! \brief Argument struct for ast_ari_remove_channel_from_bridge() */
struct ast_remove_channel_from_bridge_args { struct ast_remove_channel_from_bridge_args {
/*! \brief Bridge's id */ /*! \brief Bridge's id */
const char *bridge_id; const char *bridge_id;
@@ -122,8 +122,8 @@ struct ast_remove_channel_from_bridge_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_remove_channel_from_bridge(struct ast_variable *headers, struct ast_remove_channel_from_bridge_args *args, struct stasis_http_response *response); void ast_ari_remove_channel_from_bridge(struct ast_variable *headers, struct ast_remove_channel_from_bridge_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_play_on_bridge() */ /*! \brief Argument struct for ast_ari_play_on_bridge() */
struct ast_play_on_bridge_args { struct ast_play_on_bridge_args {
/*! \brief Bridge's id */ /*! \brief Bridge's id */
const char *bridge_id; const char *bridge_id;
@@ -145,8 +145,8 @@ struct ast_play_on_bridge_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_play_on_bridge(struct ast_variable *headers, struct ast_play_on_bridge_args *args, struct stasis_http_response *response); void ast_ari_play_on_bridge(struct ast_variable *headers, struct ast_play_on_bridge_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_record_bridge() */ /*! \brief Argument struct for ast_ari_record_bridge() */
struct ast_record_bridge_args { struct ast_record_bridge_args {
/*! \brief Bridge's id */ /*! \brief Bridge's id */
const char *bridge_id; const char *bridge_id;
@@ -174,6 +174,6 @@ struct ast_record_bridge_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_record_bridge(struct ast_variable *headers, struct ast_record_bridge_args *args, struct stasis_http_response *response); void ast_ari_record_bridge(struct ast_variable *headers, struct ast_record_bridge_args *args, struct ast_ari_response *response);
#endif /* _ASTERISK_RESOURCE_BRIDGES_H */ #endif /* _ASTERISK_RESOURCE_BRIDGES_H */

View File

@@ -18,7 +18,7 @@
/*! \file /*! \file
* *
* \brief Implementation for stasis-http stubs. * \brief Implementation for ARI stubs.
* *
* \author David M. Lee, II <dlee@digium.com> * \author David M. Lee, II <dlee@digium.com>
*/ */
@@ -54,7 +54,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \return \c NULL if control object does not exist. * \return \c NULL if control object does not exist.
*/ */
static struct stasis_app_control *find_control( static struct stasis_app_control *find_control(
struct stasis_http_response *response, struct ast_ari_response *response,
const char *channel_id) const char *channel_id)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -67,12 +67,12 @@ static struct stasis_app_control *find_control(
RAII_VAR(struct ast_channel *, chan, NULL, ao2_cleanup); RAII_VAR(struct ast_channel *, chan, NULL, ao2_cleanup);
chan = ast_channel_get_by_name(channel_id); chan = ast_channel_get_by_name(channel_id);
if (chan == NULL) { if (chan == NULL) {
stasis_http_response_error(response, 404, "Not Found", ast_ari_response_error(response, 404, "Not Found",
"Channel not found"); "Channel not found");
return NULL; return NULL;
} }
stasis_http_response_error(response, 409, "Conflict", ast_ari_response_error(response, 409, "Conflict",
"Channel not in Stasis application"); "Channel not in Stasis application");
return NULL; return NULL;
} }
@@ -81,7 +81,7 @@ static struct stasis_app_control *find_control(
return control; return control;
} }
void stasis_http_dial(struct ast_variable *headers, struct ast_dial_args *args, struct stasis_http_response *response) void ast_ari_dial(struct ast_variable *headers, struct ast_dial_args *args, struct ast_ari_response *response)
{ {
struct stasis_app_control *control; struct stasis_app_control *control;
@@ -91,17 +91,17 @@ void stasis_http_dial(struct ast_variable *headers, struct ast_dial_args *args,
} }
if (stasis_app_control_dial(control, args->endpoint, args->timeout)) { if (stasis_app_control_dial(control, args->endpoint, args->timeout)) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_continue_in_dialplan( void ast_ari_continue_in_dialplan(
struct ast_variable *headers, struct ast_variable *headers,
struct ast_continue_in_dialplan_args *args, struct ast_continue_in_dialplan_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -113,16 +113,16 @@ void stasis_http_continue_in_dialplan(
} }
if (stasis_app_control_continue(control, args->context, args->extension, args->priority)) { if (stasis_app_control_continue(control, args->context, args->extension, args->priority)) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_answer_channel(struct ast_variable *headers, void ast_ari_answer_channel(struct ast_variable *headers,
struct ast_answer_channel_args *args, struct ast_answer_channel_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -132,16 +132,16 @@ void stasis_http_answer_channel(struct ast_variable *headers,
} }
if (stasis_app_control_answer(control) != 0) { if (stasis_app_control_answer(control) != 0) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Failed to answer channel"); "Failed to answer channel");
return; return;
} }
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_mute_channel(struct ast_variable *headers, struct ast_mute_channel_args *args, struct stasis_http_response *response) void ast_ari_mute_channel(struct ast_variable *headers, struct ast_mute_channel_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
unsigned int direction = 0; unsigned int direction = 0;
@@ -159,7 +159,7 @@ void stasis_http_mute_channel(struct ast_variable *headers, struct ast_mute_chan
} else if (!strcmp(args->direction, "both")) { } else if (!strcmp(args->direction, "both")) {
direction = AST_MUTE_DIRECTION_READ | AST_MUTE_DIRECTION_WRITE; direction = AST_MUTE_DIRECTION_READ | AST_MUTE_DIRECTION_WRITE;
} else { } else {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"Invalid direction specified"); "Invalid direction specified");
return; return;
@@ -167,10 +167,10 @@ void stasis_http_mute_channel(struct ast_variable *headers, struct ast_mute_chan
stasis_app_control_mute(control, direction, frametype); stasis_app_control_mute(control, direction, frametype);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_unmute_channel(struct ast_variable *headers, struct ast_unmute_channel_args *args, struct stasis_http_response *response) void ast_ari_unmute_channel(struct ast_variable *headers, struct ast_unmute_channel_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
unsigned int direction = 0; unsigned int direction = 0;
@@ -188,7 +188,7 @@ void stasis_http_unmute_channel(struct ast_variable *headers, struct ast_unmute_
} else if (!strcmp(args->direction, "both")) { } else if (!strcmp(args->direction, "both")) {
direction = AST_MUTE_DIRECTION_READ | AST_MUTE_DIRECTION_WRITE; direction = AST_MUTE_DIRECTION_READ | AST_MUTE_DIRECTION_WRITE;
} else { } else {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"Invalid direction specified"); "Invalid direction specified");
return; return;
@@ -196,10 +196,10 @@ void stasis_http_unmute_channel(struct ast_variable *headers, struct ast_unmute_
stasis_app_control_unmute(control, direction, frametype); stasis_app_control_unmute(control, direction, frametype);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_hold_channel(struct ast_variable *headers, struct ast_hold_channel_args *args, struct stasis_http_response *response) void ast_ari_hold_channel(struct ast_variable *headers, struct ast_hold_channel_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -211,10 +211,10 @@ void stasis_http_hold_channel(struct ast_variable *headers, struct ast_hold_chan
stasis_app_control_hold(control); stasis_app_control_hold(control);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_unhold_channel(struct ast_variable *headers, struct ast_unhold_channel_args *args, struct stasis_http_response *response) void ast_ari_unhold_channel(struct ast_variable *headers, struct ast_unhold_channel_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -226,10 +226,10 @@ void stasis_http_unhold_channel(struct ast_variable *headers, struct ast_unhold_
stasis_app_control_unhold(control); stasis_app_control_unhold(control);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_moh_start_channel(struct ast_variable *headers, struct ast_moh_start_channel_args *args, struct stasis_http_response *response) void ast_ari_moh_start_channel(struct ast_variable *headers, struct ast_moh_start_channel_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -240,10 +240,10 @@ void stasis_http_moh_start_channel(struct ast_variable *headers, struct ast_moh_
} }
stasis_app_control_moh_start(control, args->moh_class); stasis_app_control_moh_start(control, args->moh_class);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_moh_stop_channel(struct ast_variable *headers, struct ast_moh_stop_channel_args *args, struct stasis_http_response *response) void ast_ari_moh_stop_channel(struct ast_variable *headers, struct ast_moh_stop_channel_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -254,12 +254,12 @@ void stasis_http_moh_stop_channel(struct ast_variable *headers, struct ast_moh_s
} }
stasis_app_control_moh_stop(control); stasis_app_control_moh_stop(control);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_play_on_channel(struct ast_variable *headers, void ast_ari_play_on_channel(struct ast_variable *headers,
struct ast_play_on_channel_args *args, struct ast_play_on_channel_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
RAII_VAR(struct ast_channel_snapshot *, snapshot, NULL, ao2_cleanup); RAII_VAR(struct ast_channel_snapshot *, snapshot, NULL, ao2_cleanup);
@@ -278,21 +278,21 @@ void stasis_http_play_on_channel(struct ast_variable *headers,
snapshot = stasis_app_control_get_snapshot(control); snapshot = stasis_app_control_get_snapshot(control);
if (!snapshot) { if (!snapshot) {
stasis_http_response_error( ast_ari_response_error(
response, 404, "Not Found", response, 404, "Not Found",
"Channel not found"); "Channel not found");
return; return;
} }
if (args->skipms < 0) { if (args->skipms < 0) {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"skipms cannot be negative"); "skipms cannot be negative");
return; return;
} }
if (args->offsetms < 0) { if (args->offsetms < 0) {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"offsetms cannot be negative"); "offsetms cannot be negative");
return; return;
@@ -303,7 +303,7 @@ void stasis_http_play_on_channel(struct ast_variable *headers,
playback = stasis_app_control_play_uri(control, args->media, language, playback = stasis_app_control_play_uri(control, args->media, language,
args->channel_id, STASIS_PLAYBACK_TARGET_CHANNEL, args->skipms, args->offsetms); args->channel_id, STASIS_PLAYBACK_TARGET_CHANNEL, args->skipms, args->offsetms);
if (!playback) { if (!playback) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Failed to queue media for playback"); "Failed to queue media for playback");
return; return;
@@ -312,7 +312,7 @@ void stasis_http_play_on_channel(struct ast_variable *headers,
ast_asprintf(&playback_url, "/playback/%s", ast_asprintf(&playback_url, "/playback/%s",
stasis_app_playback_get_id(playback)); stasis_app_playback_get_id(playback));
if (!playback_url) { if (!playback_url) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Out of memory"); "Out of memory");
return; return;
@@ -320,18 +320,18 @@ void stasis_http_play_on_channel(struct ast_variable *headers,
json = stasis_app_playback_to_json(playback); json = stasis_app_playback_to_json(playback);
if (!json) { if (!json) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Out of memory"); "Out of memory");
return; return;
} }
stasis_http_response_created(response, playback_url, json); ast_ari_response_created(response, playback_url, json);
} }
void stasis_http_record_channel(struct ast_variable *headers, void ast_ari_record_channel(struct ast_variable *headers,
struct ast_record_channel_args *args, struct ast_record_channel_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
RAII_VAR(struct ast_channel_snapshot *, snapshot, NULL, ao2_cleanup); RAII_VAR(struct ast_channel_snapshot *, snapshot, NULL, ao2_cleanup);
@@ -346,14 +346,14 @@ void stasis_http_record_channel(struct ast_variable *headers,
ast_assert(response != NULL); ast_assert(response != NULL);
if (args->max_duration_seconds < 0) { if (args->max_duration_seconds < 0) {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"max_duration_seconds cannot be negative"); "max_duration_seconds cannot be negative");
return; return;
} }
if (args->max_silence_seconds < 0) { if (args->max_silence_seconds < 0) {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"max_silence_seconds cannot be negative"); "max_silence_seconds cannot be negative");
return; return;
@@ -367,7 +367,7 @@ void stasis_http_record_channel(struct ast_variable *headers,
options = stasis_app_recording_options_create(args->name, args->format); options = stasis_app_recording_options_create(args->name, args->format);
if (options == NULL) { if (options == NULL) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Out of memory"); "Out of memory");
} }
@@ -380,14 +380,14 @@ void stasis_http_record_channel(struct ast_variable *headers,
options->beep = args->beep; options->beep = args->beep;
if (options->terminate_on == STASIS_APP_RECORDING_TERMINATE_INVALID) { if (options->terminate_on == STASIS_APP_RECORDING_TERMINATE_INVALID) {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"terminateOn invalid"); "terminateOn invalid");
return; return;
} }
if (options->if_exists == -1) { if (options->if_exists == -1) {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"ifExists invalid"); "ifExists invalid");
return; return;
@@ -400,22 +400,22 @@ void stasis_http_record_channel(struct ast_variable *headers,
/* While the arguments are invalid, we should have /* While the arguments are invalid, we should have
* caught them prior to calling record. * caught them prior to calling record.
*/ */
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Error parsing request"); "Error parsing request");
break; break;
case EEXIST: case EEXIST:
stasis_http_response_error(response, 409, "Conflict", ast_ari_response_error(response, 409, "Conflict",
"Recording '%s' already in progress", "Recording '%s' already in progress",
args->name); args->name);
break; break;
case ENOMEM: case ENOMEM:
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Out of memory"); "Out of memory");
break; break;
case EPERM: case EPERM:
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"Recording name invalid"); "Recording name invalid");
break; break;
@@ -423,7 +423,7 @@ void stasis_http_record_channel(struct ast_variable *headers,
ast_log(LOG_WARNING, ast_log(LOG_WARNING,
"Unrecognized recording error: %s\n", "Unrecognized recording error: %s\n",
strerror(errno)); strerror(errno));
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Internal Server Error"); "Internal Server Error");
break; break;
@@ -434,7 +434,7 @@ void stasis_http_record_channel(struct ast_variable *headers,
uri_name_maxlen = strlen(args->name) * 3; uri_name_maxlen = strlen(args->name) * 3;
uri_encoded_name = ast_malloc(uri_name_maxlen); uri_encoded_name = ast_malloc(uri_name_maxlen);
if (!uri_encoded_name) { if (!uri_encoded_name) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Out of memory"); "Out of memory");
return; return;
@@ -444,7 +444,7 @@ void stasis_http_record_channel(struct ast_variable *headers,
ast_asprintf(&recording_url, "/recordings/live/%s", uri_encoded_name); ast_asprintf(&recording_url, "/recordings/live/%s", uri_encoded_name);
if (!recording_url) { if (!recording_url) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Out of memory"); "Out of memory");
return; return;
@@ -452,18 +452,18 @@ void stasis_http_record_channel(struct ast_variable *headers,
json = stasis_app_recording_to_json(recording); json = stasis_app_recording_to_json(recording);
if (!json) { if (!json) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Out of memory"); "Out of memory");
return; return;
} }
stasis_http_response_created(response, recording_url, json); ast_ari_response_created(response, recording_url, json);
} }
void stasis_http_get_channel(struct ast_variable *headers, void ast_ari_get_channel(struct ast_variable *headers,
struct ast_get_channel_args *args, struct ast_get_channel_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup); RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup);
struct stasis_caching_topic *caching_topic; struct stasis_caching_topic *caching_topic;
@@ -471,7 +471,7 @@ void stasis_http_get_channel(struct ast_variable *headers,
caching_topic = ast_channel_topic_all_cached(); caching_topic = ast_channel_topic_all_cached();
if (!caching_topic) { if (!caching_topic) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Message bus not initialized"); "Message bus not initialized");
return; return;
@@ -480,7 +480,7 @@ void stasis_http_get_channel(struct ast_variable *headers,
msg = stasis_cache_get(caching_topic, ast_channel_snapshot_type(), msg = stasis_cache_get(caching_topic, ast_channel_snapshot_type(),
args->channel_id); args->channel_id);
if (!msg) { if (!msg) {
stasis_http_response_error( ast_ari_response_error(
response, 404, "Not Found", response, 404, "Not Found",
"Channel not found"); "Channel not found");
return; return;
@@ -489,19 +489,19 @@ void stasis_http_get_channel(struct ast_variable *headers,
snapshot = stasis_message_data(msg); snapshot = stasis_message_data(msg);
ast_assert(snapshot != NULL); ast_assert(snapshot != NULL);
stasis_http_response_ok(response, ast_ari_response_ok(response,
ast_channel_snapshot_to_json(snapshot)); ast_channel_snapshot_to_json(snapshot));
} }
void stasis_http_delete_channel(struct ast_variable *headers, void ast_ari_delete_channel(struct ast_variable *headers,
struct ast_delete_channel_args *args, struct ast_delete_channel_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_channel *, chan, NULL, ao2_cleanup); RAII_VAR(struct ast_channel *, chan, NULL, ao2_cleanup);
chan = ast_channel_get_by_name(args->channel_id); chan = ast_channel_get_by_name(args->channel_id);
if (chan == NULL) { if (chan == NULL) {
stasis_http_response_error( ast_ari_response_error(
response, 404, "Not Found", response, 404, "Not Found",
"Channel not found"); "Channel not found");
return; return;
@@ -509,12 +509,12 @@ void stasis_http_delete_channel(struct ast_variable *headers,
ast_softhangup(chan, AST_SOFTHANGUP_EXPLICIT); ast_softhangup(chan, AST_SOFTHANGUP_EXPLICIT);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_get_channels(struct ast_variable *headers, void ast_ari_get_channels(struct ast_variable *headers,
struct ast_get_channels_args *args, struct ast_get_channels_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_caching_topic *, caching_topic, NULL, ao2_cleanup); RAII_VAR(struct stasis_caching_topic *, caching_topic, NULL, ao2_cleanup);
RAII_VAR(struct ao2_container *, snapshots, NULL, ao2_cleanup); RAII_VAR(struct ao2_container *, snapshots, NULL, ao2_cleanup);
@@ -524,7 +524,7 @@ void stasis_http_get_channels(struct ast_variable *headers,
caching_topic = ast_channel_topic_all_cached(); caching_topic = ast_channel_topic_all_cached();
if (!caching_topic) { if (!caching_topic) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Message bus not initialized"); "Message bus not initialized");
return; return;
@@ -533,13 +533,13 @@ void stasis_http_get_channels(struct ast_variable *headers,
snapshots = stasis_cache_dump(caching_topic, ast_channel_snapshot_type()); snapshots = stasis_cache_dump(caching_topic, ast_channel_snapshot_type());
if (!snapshots) { if (!snapshots) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
json = ast_json_array_create(); json = ast_json_array_create();
if (!json) { if (!json) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -550,18 +550,18 @@ void stasis_http_get_channels(struct ast_variable *headers,
int r = ast_json_array_append( int r = ast_json_array_append(
json, ast_channel_snapshot_to_json(snapshot)); json, ast_channel_snapshot_to_json(snapshot));
if (r != 0) { if (r != 0) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
} }
ao2_iterator_destroy(&i); ao2_iterator_destroy(&i);
stasis_http_response_ok(response, ast_json_ref(json)); ast_ari_response_ok(response, ast_json_ref(json));
} }
void stasis_http_originate(struct ast_variable *headers, void ast_ari_originate(struct ast_variable *headers,
struct ast_originate_args *args, struct ast_originate_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
char *dialtech; char *dialtech;
char dialdevice[AST_CHANNEL_NAME]; char dialdevice[AST_CHANNEL_NAME];
@@ -573,7 +573,7 @@ void stasis_http_originate(struct ast_variable *headers,
char *stuff; char *stuff;
if (ast_strlen_zero(args->endpoint)) { if (ast_strlen_zero(args->endpoint)) {
stasis_http_response_error(response, 400, "Bad Request", ast_ari_response_error(response, 400, "Bad Request",
"Endpoint must be specified"); "Endpoint must be specified");
return; return;
} }
@@ -585,7 +585,7 @@ void stasis_http_originate(struct ast_variable *headers,
} }
if (ast_strlen_zero(dialtech) || ast_strlen_zero(dialdevice)) { if (ast_strlen_zero(dialtech) || ast_strlen_zero(dialdevice)) {
stasis_http_response_error(response, 400, "Bad Request", ast_ari_response_error(response, 400, "Bad Request",
"Invalid endpoint specified"); "Invalid endpoint specified");
return; return;
} }
@@ -611,7 +611,7 @@ void stasis_http_originate(struct ast_variable *headers,
RAII_VAR(struct ast_str *, appdata, ast_str_create(64), ast_free); RAII_VAR(struct ast_str *, appdata, ast_str_create(64), ast_free);
if (!appdata) { if (!appdata) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -622,25 +622,25 @@ void stasis_http_originate(struct ast_variable *headers,
/* originate a channel, putting it into an application */ /* originate a channel, putting it into an application */
if (ast_pbx_outgoing_app(dialtech, NULL, dialdevice, timeout, app, ast_str_buffer(appdata), NULL, 0, cid_num, cid_name, NULL, NULL, NULL)) { if (ast_pbx_outgoing_app(dialtech, NULL, dialdevice, timeout, app, ast_str_buffer(appdata), NULL, 0, cid_num, cid_name, NULL, NULL, NULL)) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
} else if (!ast_strlen_zero(args->extension)) { } else if (!ast_strlen_zero(args->extension)) {
/* originate a channel, sending it to an extension */ /* originate a channel, sending it to an extension */
if (ast_pbx_outgoing_exten(dialtech, NULL, dialdevice, timeout, S_OR(args->context, "default"), args->extension, args->priority ? args->priority : 1, NULL, 0, cid_num, cid_name, NULL, NULL, NULL, 0)) { if (ast_pbx_outgoing_exten(dialtech, NULL, dialdevice, timeout, S_OR(args->context, "default"), args->extension, args->priority ? args->priority : 1, NULL, 0, cid_num, cid_name, NULL, NULL, NULL, 0)) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
} else { } else {
stasis_http_response_error(response, 400, "Bad Request", ast_ari_response_error(response, 400, "Bad Request",
"Application or extension must be specified"); "Application or extension must be specified");
return; return;
} }
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }
void stasis_http_get_channel_var(struct ast_variable *headers, struct ast_get_channel_var_args *args, struct stasis_http_response *response) void ast_ari_get_channel_var(struct ast_variable *headers, struct ast_get_channel_var_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_json *, json, NULL, ast_json_unref); RAII_VAR(struct ast_json *, json, NULL, ast_json_unref);
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -656,14 +656,14 @@ void stasis_http_get_channel_var(struct ast_variable *headers, struct ast_get_ch
value = stasis_app_control_get_channel_var(control, args->variable); value = stasis_app_control_get_channel_var(control, args->variable);
if (!(json = ast_json_pack("{s: s}", "value", S_OR(value, "")))) { if (!(json = ast_json_pack("{s: s}", "value", S_OR(value, "")))) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
stasis_http_response_ok(response, ast_json_ref(json)); ast_ari_response_ok(response, ast_json_ref(json));
} }
void stasis_http_set_channel_var(struct ast_variable *headers, struct ast_set_channel_var_args *args, struct stasis_http_response *response) void ast_ari_set_channel_var(struct ast_variable *headers, struct ast_set_channel_var_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_control *, control, NULL, ao2_cleanup);
@@ -675,19 +675,19 @@ void stasis_http_set_channel_var(struct ast_variable *headers, struct ast_set_ch
} }
if (ast_strlen_zero(args->variable)) { if (ast_strlen_zero(args->variable)) {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"Variable name is required"); "Variable name is required");
return; return;
} }
if (stasis_app_control_set_channel_var(control, args->variable, args->value)) { if (stasis_app_control_set_channel_var(control, args->variable, args->value)) {
stasis_http_response_error( ast_ari_response_error(
response, 400, "Bad Request", response, 400, "Bad Request",
"Failed to execute function"); "Failed to execute function");
return; return;
} }
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
} }

View File

@@ -19,7 +19,7 @@
/*! \file /*! \file
* *
* \brief Generated file - declares stubs to be implemented in * \brief Generated file - declares stubs to be implemented in
* res/stasis_http/resource_channels.c * res/ari/resource_channels.c
* *
* Channel resources * Channel resources
* *
@@ -31,15 +31,15 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/stasis_http_resource.h.mustache * template in rest-api-templates/ari_resource.h.mustache
*/ */
#ifndef _ASTERISK_RESOURCE_CHANNELS_H #ifndef _ASTERISK_RESOURCE_CHANNELS_H
#define _ASTERISK_RESOURCE_CHANNELS_H #define _ASTERISK_RESOURCE_CHANNELS_H
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
/*! \brief Argument struct for stasis_http_get_channels() */ /*! \brief Argument struct for ast_ari_get_channels() */
struct ast_get_channels_args { struct ast_get_channels_args {
}; };
/*! /*!
@@ -49,8 +49,8 @@ struct ast_get_channels_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_channels(struct ast_variable *headers, struct ast_get_channels_args *args, struct stasis_http_response *response); void ast_ari_get_channels(struct ast_variable *headers, struct ast_get_channels_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_originate() */ /*! \brief Argument struct for ast_ari_originate() */
struct ast_originate_args { struct ast_originate_args {
/*! \brief Endpoint to call. */ /*! \brief Endpoint to call. */
const char *endpoint; const char *endpoint;
@@ -76,8 +76,8 @@ struct ast_originate_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_originate(struct ast_variable *headers, struct ast_originate_args *args, struct stasis_http_response *response); void ast_ari_originate(struct ast_variable *headers, struct ast_originate_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_get_channel() */ /*! \brief Argument struct for ast_ari_get_channel() */
struct ast_get_channel_args { struct ast_get_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -89,8 +89,8 @@ struct ast_get_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_channel(struct ast_variable *headers, struct ast_get_channel_args *args, struct stasis_http_response *response); void ast_ari_get_channel(struct ast_variable *headers, struct ast_get_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_delete_channel() */ /*! \brief Argument struct for ast_ari_delete_channel() */
struct ast_delete_channel_args { struct ast_delete_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -102,8 +102,8 @@ struct ast_delete_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_delete_channel(struct ast_variable *headers, struct ast_delete_channel_args *args, struct stasis_http_response *response); void ast_ari_delete_channel(struct ast_variable *headers, struct ast_delete_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_dial() */ /*! \brief Argument struct for ast_ari_dial() */
struct ast_dial_args { struct ast_dial_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -123,8 +123,8 @@ struct ast_dial_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_dial(struct ast_variable *headers, struct ast_dial_args *args, struct stasis_http_response *response); void ast_ari_dial(struct ast_variable *headers, struct ast_dial_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_continue_in_dialplan() */ /*! \brief Argument struct for ast_ari_continue_in_dialplan() */
struct ast_continue_in_dialplan_args { struct ast_continue_in_dialplan_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -142,8 +142,8 @@ struct ast_continue_in_dialplan_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_continue_in_dialplan(struct ast_variable *headers, struct ast_continue_in_dialplan_args *args, struct stasis_http_response *response); void ast_ari_continue_in_dialplan(struct ast_variable *headers, struct ast_continue_in_dialplan_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_answer_channel() */ /*! \brief Argument struct for ast_ari_answer_channel() */
struct ast_answer_channel_args { struct ast_answer_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -155,8 +155,8 @@ struct ast_answer_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_answer_channel(struct ast_variable *headers, struct ast_answer_channel_args *args, struct stasis_http_response *response); void ast_ari_answer_channel(struct ast_variable *headers, struct ast_answer_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_mute_channel() */ /*! \brief Argument struct for ast_ari_mute_channel() */
struct ast_mute_channel_args { struct ast_mute_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -170,8 +170,8 @@ struct ast_mute_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_mute_channel(struct ast_variable *headers, struct ast_mute_channel_args *args, struct stasis_http_response *response); void ast_ari_mute_channel(struct ast_variable *headers, struct ast_mute_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_unmute_channel() */ /*! \brief Argument struct for ast_ari_unmute_channel() */
struct ast_unmute_channel_args { struct ast_unmute_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -185,8 +185,8 @@ struct ast_unmute_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_unmute_channel(struct ast_variable *headers, struct ast_unmute_channel_args *args, struct stasis_http_response *response); void ast_ari_unmute_channel(struct ast_variable *headers, struct ast_unmute_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_hold_channel() */ /*! \brief Argument struct for ast_ari_hold_channel() */
struct ast_hold_channel_args { struct ast_hold_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -198,8 +198,8 @@ struct ast_hold_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_hold_channel(struct ast_variable *headers, struct ast_hold_channel_args *args, struct stasis_http_response *response); void ast_ari_hold_channel(struct ast_variable *headers, struct ast_hold_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_unhold_channel() */ /*! \brief Argument struct for ast_ari_unhold_channel() */
struct ast_unhold_channel_args { struct ast_unhold_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -211,8 +211,8 @@ struct ast_unhold_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_unhold_channel(struct ast_variable *headers, struct ast_unhold_channel_args *args, struct stasis_http_response *response); void ast_ari_unhold_channel(struct ast_variable *headers, struct ast_unhold_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_moh_start_channel() */ /*! \brief Argument struct for ast_ari_moh_start_channel() */
struct ast_moh_start_channel_args { struct ast_moh_start_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -228,8 +228,8 @@ struct ast_moh_start_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_moh_start_channel(struct ast_variable *headers, struct ast_moh_start_channel_args *args, struct stasis_http_response *response); void ast_ari_moh_start_channel(struct ast_variable *headers, struct ast_moh_start_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_moh_stop_channel() */ /*! \brief Argument struct for ast_ari_moh_stop_channel() */
struct ast_moh_stop_channel_args { struct ast_moh_stop_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -241,8 +241,8 @@ struct ast_moh_stop_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_moh_stop_channel(struct ast_variable *headers, struct ast_moh_stop_channel_args *args, struct stasis_http_response *response); void ast_ari_moh_stop_channel(struct ast_variable *headers, struct ast_moh_stop_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_play_on_channel() */ /*! \brief Argument struct for ast_ari_play_on_channel() */
struct ast_play_on_channel_args { struct ast_play_on_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -264,8 +264,8 @@ struct ast_play_on_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_play_on_channel(struct ast_variable *headers, struct ast_play_on_channel_args *args, struct stasis_http_response *response); void ast_ari_play_on_channel(struct ast_variable *headers, struct ast_play_on_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_record_channel() */ /*! \brief Argument struct for ast_ari_record_channel() */
struct ast_record_channel_args { struct ast_record_channel_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -293,8 +293,8 @@ struct ast_record_channel_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_record_channel(struct ast_variable *headers, struct ast_record_channel_args *args, struct stasis_http_response *response); void ast_ari_record_channel(struct ast_variable *headers, struct ast_record_channel_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_get_channel_var() */ /*! \brief Argument struct for ast_ari_get_channel_var() */
struct ast_get_channel_var_args { struct ast_get_channel_var_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -308,8 +308,8 @@ struct ast_get_channel_var_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_channel_var(struct ast_variable *headers, struct ast_get_channel_var_args *args, struct stasis_http_response *response); void ast_ari_get_channel_var(struct ast_variable *headers, struct ast_get_channel_var_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_set_channel_var() */ /*! \brief Argument struct for ast_ari_set_channel_var() */
struct ast_set_channel_var_args { struct ast_set_channel_var_args {
/*! \brief Channel's id */ /*! \brief Channel's id */
const char *channel_id; const char *channel_id;
@@ -325,6 +325,6 @@ struct ast_set_channel_var_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_set_channel_var(struct ast_variable *headers, struct ast_set_channel_var_args *args, struct stasis_http_response *response); void ast_ari_set_channel_var(struct ast_variable *headers, struct ast_set_channel_var_args *args, struct ast_ari_response *response);
#endif /* _ASTERISK_RESOURCE_CHANNELS_H */ #endif /* _ASTERISK_RESOURCE_CHANNELS_H */

View File

@@ -33,9 +33,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/stasis.h" #include "asterisk/stasis.h"
#include "asterisk/stasis_endpoints.h" #include "asterisk/stasis_endpoints.h"
void stasis_http_get_endpoints(struct ast_variable *headers, void ast_ari_get_endpoints(struct ast_variable *headers,
struct ast_get_endpoints_args *args, struct ast_get_endpoints_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_caching_topic *, caching_topic, NULL, ao2_cleanup); RAII_VAR(struct stasis_caching_topic *, caching_topic, NULL, ao2_cleanup);
RAII_VAR(struct ao2_container *, snapshots, NULL, ao2_cleanup); RAII_VAR(struct ao2_container *, snapshots, NULL, ao2_cleanup);
@@ -45,7 +45,7 @@ void stasis_http_get_endpoints(struct ast_variable *headers,
caching_topic = ast_endpoint_topic_all_cached(); caching_topic = ast_endpoint_topic_all_cached();
if (!caching_topic) { if (!caching_topic) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Message bus not initialized"); "Message bus not initialized");
return; return;
@@ -54,13 +54,13 @@ void stasis_http_get_endpoints(struct ast_variable *headers,
snapshots = stasis_cache_dump(caching_topic, ast_endpoint_snapshot_type()); snapshots = stasis_cache_dump(caching_topic, ast_endpoint_snapshot_type());
if (!snapshots) { if (!snapshots) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
json = ast_json_array_create(); json = ast_json_array_create();
if (!json) { if (!json) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -71,17 +71,17 @@ void stasis_http_get_endpoints(struct ast_variable *headers,
int r = ast_json_array_append( int r = ast_json_array_append(
json, ast_endpoint_snapshot_to_json(snapshot)); json, ast_endpoint_snapshot_to_json(snapshot));
if (r != 0) { if (r != 0) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
} }
ao2_iterator_destroy(&i); ao2_iterator_destroy(&i);
stasis_http_response_ok(response, ast_json_ref(json)); ast_ari_response_ok(response, ast_json_ref(json));
} }
void stasis_http_get_endpoints_by_tech(struct ast_variable *headers, void ast_ari_get_endpoints_by_tech(struct ast_variable *headers,
struct ast_get_endpoints_by_tech_args *args, struct ast_get_endpoints_by_tech_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_caching_topic *, caching_topic, NULL, ao2_cleanup); RAII_VAR(struct stasis_caching_topic *, caching_topic, NULL, ao2_cleanup);
RAII_VAR(struct ao2_container *, snapshots, NULL, ao2_cleanup); RAII_VAR(struct ao2_container *, snapshots, NULL, ao2_cleanup);
@@ -93,7 +93,7 @@ void stasis_http_get_endpoints_by_tech(struct ast_variable *headers,
caching_topic = ast_endpoint_topic_all_cached(); caching_topic = ast_endpoint_topic_all_cached();
if (!caching_topic) { if (!caching_topic) {
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Message bus not initialized"); "Message bus not initialized");
return; return;
@@ -102,13 +102,13 @@ void stasis_http_get_endpoints_by_tech(struct ast_variable *headers,
snapshots = stasis_cache_dump(caching_topic, ast_endpoint_snapshot_type()); snapshots = stasis_cache_dump(caching_topic, ast_endpoint_snapshot_type());
if (!snapshots) { if (!snapshots) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
json = ast_json_array_create(); json = ast_json_array_create();
if (!json) { if (!json) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -125,33 +125,33 @@ void stasis_http_get_endpoints_by_tech(struct ast_variable *headers,
r = ast_json_array_append( r = ast_json_array_append(
json, ast_endpoint_snapshot_to_json(snapshot)); json, ast_endpoint_snapshot_to_json(snapshot));
if (r != 0) { if (r != 0) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
} }
ao2_iterator_destroy(&i); ao2_iterator_destroy(&i);
stasis_http_response_ok(response, ast_json_ref(json)); ast_ari_response_ok(response, ast_json_ref(json));
} }
void stasis_http_get_endpoint(struct ast_variable *headers, void ast_ari_get_endpoint(struct ast_variable *headers,
struct ast_get_endpoint_args *args, struct ast_get_endpoint_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_json *, json, NULL, ast_json_unref); RAII_VAR(struct ast_json *, json, NULL, ast_json_unref);
RAII_VAR(struct ast_endpoint_snapshot *, snapshot, NULL, ao2_cleanup); RAII_VAR(struct ast_endpoint_snapshot *, snapshot, NULL, ao2_cleanup);
snapshot = ast_endpoint_latest_snapshot(args->tech, args->resource, 0); snapshot = ast_endpoint_latest_snapshot(args->tech, args->resource, 0);
if (!snapshot) { if (!snapshot) {
stasis_http_response_error(response, 404, "Not Found", ast_ari_response_error(response, 404, "Not Found",
"Endpoint not found"); "Endpoint not found");
return; return;
} }
json = ast_endpoint_snapshot_to_json(snapshot); json = ast_endpoint_snapshot_to_json(snapshot);
if (!json) { if (!json) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
stasis_http_response_ok(response, ast_json_ref(json)); ast_ari_response_ok(response, ast_json_ref(json));
} }

View File

@@ -19,7 +19,7 @@
/*! \file /*! \file
* *
* \brief Generated file - declares stubs to be implemented in * \brief Generated file - declares stubs to be implemented in
* res/stasis_http/resource_endpoints.c * res/ari/resource_endpoints.c
* *
* Endpoint resources * Endpoint resources
* *
@@ -31,15 +31,15 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/stasis_http_resource.h.mustache * template in rest-api-templates/ari_resource.h.mustache
*/ */
#ifndef _ASTERISK_RESOURCE_ENDPOINTS_H #ifndef _ASTERISK_RESOURCE_ENDPOINTS_H
#define _ASTERISK_RESOURCE_ENDPOINTS_H #define _ASTERISK_RESOURCE_ENDPOINTS_H
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
/*! \brief Argument struct for stasis_http_get_endpoints() */ /*! \brief Argument struct for ast_ari_get_endpoints() */
struct ast_get_endpoints_args { struct ast_get_endpoints_args {
}; };
/*! /*!
@@ -49,8 +49,8 @@ struct ast_get_endpoints_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_endpoints(struct ast_variable *headers, struct ast_get_endpoints_args *args, struct stasis_http_response *response); void ast_ari_get_endpoints(struct ast_variable *headers, struct ast_get_endpoints_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_get_endpoints_by_tech() */ /*! \brief Argument struct for ast_ari_get_endpoints_by_tech() */
struct ast_get_endpoints_by_tech_args { struct ast_get_endpoints_by_tech_args {
/*! \brief Technology of the endpoints (sip,iax2,...) */ /*! \brief Technology of the endpoints (sip,iax2,...) */
const char *tech; const char *tech;
@@ -62,8 +62,8 @@ struct ast_get_endpoints_by_tech_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_endpoints_by_tech(struct ast_variable *headers, struct ast_get_endpoints_by_tech_args *args, struct stasis_http_response *response); void ast_ari_get_endpoints_by_tech(struct ast_variable *headers, struct ast_get_endpoints_by_tech_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_get_endpoint() */ /*! \brief Argument struct for ast_ari_get_endpoint() */
struct ast_get_endpoint_args { struct ast_get_endpoint_args {
/*! \brief Technology of the endpoint */ /*! \brief Technology of the endpoint */
const char *tech; const char *tech;
@@ -77,6 +77,6 @@ struct ast_get_endpoint_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_endpoint(struct ast_variable *headers, struct ast_get_endpoint_args *args, struct stasis_http_response *response); void ast_ari_get_endpoint(struct ast_variable *headers, struct ast_get_endpoint_args *args, struct ast_ari_response *response);
#endif /* _ASTERISK_RESOURCE_ENDPOINTS_H */ #endif /* _ASTERISK_RESOURCE_ENDPOINTS_H */

View File

@@ -38,7 +38,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
/*! \brief A connection to the event WebSocket */ /*! \brief A connection to the event WebSocket */
struct event_session { struct event_session {
struct ari_websocket_session *ws_session; struct ast_ari_websocket_session *ws_session;
struct ao2_container *websocket_apps; struct ao2_container *websocket_apps;
}; };
@@ -87,7 +87,7 @@ static void session_cleanup(struct event_session *session)
} }
static struct event_session *session_create( static struct event_session *session_create(
struct ari_websocket_session *ws_session) struct ast_ari_websocket_session *ws_session)
{ {
RAII_VAR(struct event_session *, session, NULL, ao2_cleanup); RAII_VAR(struct event_session *, session, NULL, ao2_cleanup);
@@ -135,7 +135,7 @@ static void app_handler(void *data, const char *app_name,
ao2_lock(session); ao2_lock(session);
if (session->ws_session) { if (session->ws_session) {
ari_websocket_session_write(session->ws_session, message); ast_ari_websocket_session_write(session->ws_session, message);
} }
ao2_unlock(session); ao2_unlock(session);
} }
@@ -161,12 +161,12 @@ static int session_register_apps(struct event_session *session,
to_free = apps = ast_strdup(app_list); to_free = apps = ast_strdup(app_list);
if (!apps) { if (!apps) {
ari_websocket_session_write(session->ws_session, ari_oom_json()); ast_ari_websocket_session_write(session->ws_session, ast_ari_oom_json());
return -1; return -1;
} }
while ((app_name = strsep(&apps, ","))) { while ((app_name = strsep(&apps, ","))) {
if (ast_str_container_add(session->websocket_apps, app_name)) { if (ast_str_container_add(session->websocket_apps, app_name)) {
ari_websocket_session_write(session->ws_session, ari_oom_json()); ast_ari_websocket_session_write(session->ws_session, ast_ari_oom_json());
return -1; return -1;
} }
@@ -175,7 +175,7 @@ static int session_register_apps(struct event_session *session,
return 0; return 0;
} }
void ari_websocket_event_websocket(struct ari_websocket_session *ws_session, void ast_ari_websocket_event_websocket(struct ast_ari_websocket_session *ws_session,
struct ast_variable *headers, struct ast_variable *headers,
struct ast_event_websocket_args *args) struct ast_event_websocket_args *args)
{ {
@@ -187,7 +187,7 @@ void ari_websocket_event_websocket(struct ari_websocket_session *ws_session,
session = session_create(ws_session); session = session_create(ws_session);
if (!session) { if (!session) {
ari_websocket_session_write(ws_session, ari_oom_json()); ast_ari_websocket_session_write(ws_session, ast_ari_oom_json());
return; return;
} }
@@ -198,21 +198,21 @@ void ari_websocket_event_websocket(struct ari_websocket_session *ws_session,
"type", "MissingParams", "type", "MissingParams",
"params", "app"); "params", "app");
if (!msg) { if (!msg) {
msg = ast_json_ref(ari_oom_json()); msg = ast_json_ref(ast_ari_oom_json());
} }
ari_websocket_session_write(session->ws_session, msg); ast_ari_websocket_session_write(session->ws_session, msg);
return; return;
} }
res = session_register_apps(session, args->app); res = session_register_apps(session, args->app);
if (res != 0) { if (res != 0) {
ari_websocket_session_write(ws_session, ari_oom_json()); ast_ari_websocket_session_write(ws_session, ast_ari_oom_json());
return; return;
} }
/* We don't process any input, but we'll consume it waiting for EOF */ /* We don't process any input, but we'll consume it waiting for EOF */
while ((msg = ari_websocket_session_read(ws_session))) { while ((msg = ast_ari_websocket_session_read(ws_session))) {
ast_json_unref(msg); ast_json_unref(msg);
} }
} }

View File

@@ -19,7 +19,7 @@
/*! \file /*! \file
* *
* \brief Generated file - declares stubs to be implemented in * \brief Generated file - declares stubs to be implemented in
* res/stasis_http/resource_events.c * res/ari/resource_events.c
* *
* WebSocket resource * WebSocket resource
* *
@@ -31,15 +31,15 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/stasis_http_resource.h.mustache * template in rest-api-templates/ari_resource.h.mustache
*/ */
#ifndef _ASTERISK_RESOURCE_EVENTS_H #ifndef _ASTERISK_RESOURCE_EVENTS_H
#define _ASTERISK_RESOURCE_EVENTS_H #define _ASTERISK_RESOURCE_EVENTS_H
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
/*! \brief Argument struct for stasis_http_event_websocket() */ /*! \brief Argument struct for ast_ari_event_websocket() */
struct ast_event_websocket_args { struct ast_event_websocket_args {
/*! \brief Comma seperated list of applications to subscribe to. */ /*! \brief Comma seperated list of applications to subscribe to. */
const char *app; const char *app;
@@ -51,6 +51,6 @@ struct ast_event_websocket_args {
* \param headers HTTP headers. * \param headers HTTP headers.
* \param args Swagger parameters. * \param args Swagger parameters.
*/ */
void ari_websocket_event_websocket(struct ari_websocket_session *session, struct ast_variable *headers, struct ast_event_websocket_args *args); void ast_ari_websocket_event_websocket(struct ast_ari_websocket_session *session, struct ast_variable *headers, struct ast_event_websocket_args *args);
#endif /* _ASTERISK_RESOURCE_EVENTS_H */ #endif /* _ASTERISK_RESOURCE_EVENTS_H */

View File

@@ -30,39 +30,39 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/stasis_app_playback.h" #include "asterisk/stasis_app_playback.h"
#include "resource_playback.h" #include "resource_playback.h"
void stasis_http_get_playback(struct ast_variable *headers, void ast_ari_get_playback(struct ast_variable *headers,
struct ast_get_playback_args *args, struct ast_get_playback_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_playback *, playback, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_playback *, playback, NULL, ao2_cleanup);
RAII_VAR(struct ast_json *, json, NULL, ast_json_unref); RAII_VAR(struct ast_json *, json, NULL, ast_json_unref);
playback = stasis_app_playback_find_by_id(args->playback_id); playback = stasis_app_playback_find_by_id(args->playback_id);
if (playback == NULL) { if (playback == NULL) {
stasis_http_response_error(response, 404, "Not Found", ast_ari_response_error(response, 404, "Not Found",
"Playback not found"); "Playback not found");
return; return;
} }
json = stasis_app_playback_to_json(playback); json = stasis_app_playback_to_json(playback);
if (json == NULL) { if (json == NULL) {
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Error building response"); "Internal Server Error", "Error building response");
return; return;
} }
stasis_http_response_ok(response, ast_json_ref(json)); ast_ari_response_ok(response, ast_json_ref(json));
} }
void stasis_http_stop_playback(struct ast_variable *headers, void ast_ari_stop_playback(struct ast_variable *headers,
struct ast_stop_playback_args *args, struct ast_stop_playback_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_playback *, playback, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_playback *, playback, NULL, ao2_cleanup);
enum stasis_playback_oper_results res; enum stasis_playback_oper_results res;
playback = stasis_app_playback_find_by_id(args->playback_id); playback = stasis_app_playback_find_by_id(args->playback_id);
if (playback == NULL) { if (playback == NULL) {
stasis_http_response_error(response, 404, "Not Found", ast_ari_response_error(response, 404, "Not Found",
"Playback not found"); "Playback not found");
return; return;
} }
@@ -71,23 +71,23 @@ void stasis_http_stop_playback(struct ast_variable *headers,
switch (res) { switch (res) {
case STASIS_PLAYBACK_OPER_OK: case STASIS_PLAYBACK_OPER_OK:
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
return; return;
case STASIS_PLAYBACK_OPER_FAILED: case STASIS_PLAYBACK_OPER_FAILED:
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Could not stop playback"); "Internal Server Error", "Could not stop playback");
return; return;
case STASIS_PLAYBACK_OPER_NOT_PLAYING: case STASIS_PLAYBACK_OPER_NOT_PLAYING:
/* Stop operation should be valid even when not playing */ /* Stop operation should be valid even when not playing */
ast_assert(0); ast_assert(0);
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Could not stop playback"); "Internal Server Error", "Could not stop playback");
return; return;
} }
} }
void stasis_http_control_playback(struct ast_variable *headers, void ast_ari_control_playback(struct ast_variable *headers,
struct ast_control_playback_args *args, struct ast_control_playback_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct stasis_app_playback *, playback, NULL, ao2_cleanup); RAII_VAR(struct stasis_app_playback *, playback, NULL, ao2_cleanup);
enum stasis_app_playback_media_operation oper; enum stasis_app_playback_media_operation oper;
@@ -104,7 +104,7 @@ void stasis_http_control_playback(struct ast_variable *headers,
} else if (strcmp(args->operation, "forward") == 0) { } else if (strcmp(args->operation, "forward") == 0) {
oper = STASIS_PLAYBACK_FORWARD; oper = STASIS_PLAYBACK_FORWARD;
} else { } else {
stasis_http_response_error(response, 400, ast_ari_response_error(response, 400,
"Bad Request", "Invalid operation %s", "Bad Request", "Invalid operation %s",
args->operation); args->operation);
return; return;
@@ -113,7 +113,7 @@ void stasis_http_control_playback(struct ast_variable *headers,
playback = stasis_app_playback_find_by_id(args->playback_id); playback = stasis_app_playback_find_by_id(args->playback_id);
if (playback == NULL) { if (playback == NULL) {
stasis_http_response_error(response, 404, "Not Found", ast_ari_response_error(response, 404, "Not Found",
"Playback not found"); "Playback not found");
return; return;
} }
@@ -122,15 +122,15 @@ void stasis_http_control_playback(struct ast_variable *headers,
switch (res) { switch (res) {
case STASIS_PLAYBACK_OPER_OK: case STASIS_PLAYBACK_OPER_OK:
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
return; return;
case STASIS_PLAYBACK_OPER_FAILED: case STASIS_PLAYBACK_OPER_FAILED:
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Could not %s playback", "Internal Server Error", "Could not %s playback",
args->operation); args->operation);
return; return;
case STASIS_PLAYBACK_OPER_NOT_PLAYING: case STASIS_PLAYBACK_OPER_NOT_PLAYING:
stasis_http_response_error(response, 409, "Conflict", ast_ari_response_error(response, 409, "Conflict",
"Can only %s while media is playing", args->operation); "Can only %s while media is playing", args->operation);
return; return;
} }

View File

@@ -19,7 +19,7 @@
/*! \file /*! \file
* *
* \brief Generated file - declares stubs to be implemented in * \brief Generated file - declares stubs to be implemented in
* res/stasis_http/resource_playback.c * res/ari/resource_playback.c
* *
* Playback control resources * Playback control resources
* *
@@ -31,15 +31,15 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/stasis_http_resource.h.mustache * template in rest-api-templates/ari_resource.h.mustache
*/ */
#ifndef _ASTERISK_RESOURCE_PLAYBACK_H #ifndef _ASTERISK_RESOURCE_PLAYBACK_H
#define _ASTERISK_RESOURCE_PLAYBACK_H #define _ASTERISK_RESOURCE_PLAYBACK_H
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
/*! \brief Argument struct for stasis_http_get_playback() */ /*! \brief Argument struct for ast_ari_get_playback() */
struct ast_get_playback_args { struct ast_get_playback_args {
/*! \brief Playback's id */ /*! \brief Playback's id */
const char *playback_id; const char *playback_id;
@@ -51,8 +51,8 @@ struct ast_get_playback_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_playback(struct ast_variable *headers, struct ast_get_playback_args *args, struct stasis_http_response *response); void ast_ari_get_playback(struct ast_variable *headers, struct ast_get_playback_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_stop_playback() */ /*! \brief Argument struct for ast_ari_stop_playback() */
struct ast_stop_playback_args { struct ast_stop_playback_args {
/*! \brief Playback's id */ /*! \brief Playback's id */
const char *playback_id; const char *playback_id;
@@ -64,8 +64,8 @@ struct ast_stop_playback_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_stop_playback(struct ast_variable *headers, struct ast_stop_playback_args *args, struct stasis_http_response *response); void ast_ari_stop_playback(struct ast_variable *headers, struct ast_stop_playback_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_control_playback() */ /*! \brief Argument struct for ast_ari_control_playback() */
struct ast_control_playback_args { struct ast_control_playback_args {
/*! \brief Playback's id */ /*! \brief Playback's id */
const char *playback_id; const char *playback_id;
@@ -79,6 +79,6 @@ struct ast_control_playback_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_control_playback(struct ast_variable *headers, struct ast_control_playback_args *args, struct stasis_http_response *response); void ast_ari_control_playback(struct ast_variable *headers, struct ast_control_playback_args *args, struct ast_ari_response *response);
#endif /* _ASTERISK_RESOURCE_PLAYBACK_H */ #endif /* _ASTERISK_RESOURCE_PLAYBACK_H */

View File

@@ -0,0 +1,97 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2012 - 2013, Digium, Inc.
*
* David M. Lee, II <dlee@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief /api-docs/recordings.{format} implementation- Recording resources
*
* \author David M. Lee, II <dlee@digium.com>
*/
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/stasis_app_recording.h"
#include "resource_recordings.h"
void ast_ari_get_stored_recordings(struct ast_variable *headers, struct ast_get_stored_recordings_args *args, struct ast_ari_response *response)
{
ast_log(LOG_ERROR, "TODO: ast_ari_get_stored_recordings\n");
}
void ast_ari_get_stored_recording(struct ast_variable *headers, struct ast_get_stored_recording_args *args, struct ast_ari_response *response)
{
ast_log(LOG_ERROR, "TODO: ast_ari_get_stored_recording\n");
}
void ast_ari_delete_stored_recording(struct ast_variable *headers, struct ast_delete_stored_recording_args *args, struct ast_ari_response *response)
{
ast_log(LOG_ERROR, "TODO: ast_ari_delete_stored_recording\n");
}
void ast_ari_get_live_recordings(struct ast_variable *headers, struct ast_get_live_recordings_args *args, struct ast_ari_response *response)
{
ast_log(LOG_ERROR, "TODO: ast_ari_get_live_recordings\n");
}
void ast_ari_get_live_recording(struct ast_variable *headers,
struct ast_get_live_recording_args *args,
struct ast_ari_response *response)
{
RAII_VAR(struct stasis_app_recording *, recording, NULL, ao2_cleanup);
RAII_VAR(struct ast_json *, json, NULL, ast_json_unref);
recording = stasis_app_recording_find_by_name(args->recording_name);
if (recording == NULL) {
ast_ari_response_error(response, 404, "Not Found",
"Recording not found");
return;
}
json = stasis_app_recording_to_json(recording);
if (json == NULL) {
ast_ari_response_error(response, 500,
"Internal Server Error", "Error building response");
return;
}
ast_ari_response_ok(response, ast_json_ref(json));
}
void ast_ari_cancel_recording(struct ast_variable *headers, struct ast_cancel_recording_args *args, struct ast_ari_response *response)
{
ast_log(LOG_ERROR, "TODO: ast_ari_cancel_recording\n");
}
void ast_ari_stop_recording(struct ast_variable *headers, struct ast_stop_recording_args *args, struct ast_ari_response *response)
{
ast_log(LOG_ERROR, "TODO: ast_ari_stop_recording\n");
}
void ast_ari_pause_recording(struct ast_variable *headers, struct ast_pause_recording_args *args, struct ast_ari_response *response)
{
ast_log(LOG_ERROR, "TODO: ast_ari_pause_recording\n");
}
void ast_ari_unpause_recording(struct ast_variable *headers, struct ast_unpause_recording_args *args, struct ast_ari_response *response)
{
ast_log(LOG_ERROR, "TODO: ast_ari_unpause_recording\n");
}
void ast_ari_mute_recording(struct ast_variable *headers, struct ast_mute_recording_args *args, struct ast_ari_response *response)
{
ast_log(LOG_ERROR, "TODO: ast_ari_mute_recording\n");
}
void ast_ari_unmute_recording(struct ast_variable *headers, struct ast_unmute_recording_args *args, struct ast_ari_response *response)
{
ast_log(LOG_ERROR, "TODO: ast_ari_unmute_recording\n");
}

View File

@@ -19,7 +19,7 @@
/*! \file /*! \file
* *
* \brief Generated file - declares stubs to be implemented in * \brief Generated file - declares stubs to be implemented in
* res/stasis_http/resource_recordings.c * res/ari/resource_recordings.c
* *
* Recording resources * Recording resources
* *
@@ -31,15 +31,15 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/stasis_http_resource.h.mustache * template in rest-api-templates/ari_resource.h.mustache
*/ */
#ifndef _ASTERISK_RESOURCE_RECORDINGS_H #ifndef _ASTERISK_RESOURCE_RECORDINGS_H
#define _ASTERISK_RESOURCE_RECORDINGS_H #define _ASTERISK_RESOURCE_RECORDINGS_H
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
/*! \brief Argument struct for stasis_http_get_stored_recordings() */ /*! \brief Argument struct for ast_ari_get_stored_recordings() */
struct ast_get_stored_recordings_args { struct ast_get_stored_recordings_args {
}; };
/*! /*!
@@ -49,8 +49,8 @@ struct ast_get_stored_recordings_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_stored_recordings(struct ast_variable *headers, struct ast_get_stored_recordings_args *args, struct stasis_http_response *response); void ast_ari_get_stored_recordings(struct ast_variable *headers, struct ast_get_stored_recordings_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_get_stored_recording() */ /*! \brief Argument struct for ast_ari_get_stored_recording() */
struct ast_get_stored_recording_args { struct ast_get_stored_recording_args {
/*! \brief The name of the recording */ /*! \brief The name of the recording */
const char *recording_name; const char *recording_name;
@@ -62,8 +62,8 @@ struct ast_get_stored_recording_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_stored_recording(struct ast_variable *headers, struct ast_get_stored_recording_args *args, struct stasis_http_response *response); void ast_ari_get_stored_recording(struct ast_variable *headers, struct ast_get_stored_recording_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_delete_stored_recording() */ /*! \brief Argument struct for ast_ari_delete_stored_recording() */
struct ast_delete_stored_recording_args { struct ast_delete_stored_recording_args {
/*! \brief The name of the recording */ /*! \brief The name of the recording */
const char *recording_name; const char *recording_name;
@@ -75,8 +75,8 @@ struct ast_delete_stored_recording_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_delete_stored_recording(struct ast_variable *headers, struct ast_delete_stored_recording_args *args, struct stasis_http_response *response); void ast_ari_delete_stored_recording(struct ast_variable *headers, struct ast_delete_stored_recording_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_get_live_recordings() */ /*! \brief Argument struct for ast_ari_get_live_recordings() */
struct ast_get_live_recordings_args { struct ast_get_live_recordings_args {
}; };
/*! /*!
@@ -86,8 +86,8 @@ struct ast_get_live_recordings_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_live_recordings(struct ast_variable *headers, struct ast_get_live_recordings_args *args, struct stasis_http_response *response); void ast_ari_get_live_recordings(struct ast_variable *headers, struct ast_get_live_recordings_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_get_live_recording() */ /*! \brief Argument struct for ast_ari_get_live_recording() */
struct ast_get_live_recording_args { struct ast_get_live_recording_args {
/*! \brief The name of the recording */ /*! \brief The name of the recording */
const char *recording_name; const char *recording_name;
@@ -99,8 +99,8 @@ struct ast_get_live_recording_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_live_recording(struct ast_variable *headers, struct ast_get_live_recording_args *args, struct stasis_http_response *response); void ast_ari_get_live_recording(struct ast_variable *headers, struct ast_get_live_recording_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_cancel_recording() */ /*! \brief Argument struct for ast_ari_cancel_recording() */
struct ast_cancel_recording_args { struct ast_cancel_recording_args {
/*! \brief The name of the recording */ /*! \brief The name of the recording */
const char *recording_name; const char *recording_name;
@@ -112,8 +112,8 @@ struct ast_cancel_recording_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_cancel_recording(struct ast_variable *headers, struct ast_cancel_recording_args *args, struct stasis_http_response *response); void ast_ari_cancel_recording(struct ast_variable *headers, struct ast_cancel_recording_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_stop_recording() */ /*! \brief Argument struct for ast_ari_stop_recording() */
struct ast_stop_recording_args { struct ast_stop_recording_args {
/*! \brief The name of the recording */ /*! \brief The name of the recording */
const char *recording_name; const char *recording_name;
@@ -125,8 +125,8 @@ struct ast_stop_recording_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_stop_recording(struct ast_variable *headers, struct ast_stop_recording_args *args, struct stasis_http_response *response); void ast_ari_stop_recording(struct ast_variable *headers, struct ast_stop_recording_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_pause_recording() */ /*! \brief Argument struct for ast_ari_pause_recording() */
struct ast_pause_recording_args { struct ast_pause_recording_args {
/*! \brief The name of the recording */ /*! \brief The name of the recording */
const char *recording_name; const char *recording_name;
@@ -140,8 +140,8 @@ struct ast_pause_recording_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_pause_recording(struct ast_variable *headers, struct ast_pause_recording_args *args, struct stasis_http_response *response); void ast_ari_pause_recording(struct ast_variable *headers, struct ast_pause_recording_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_unpause_recording() */ /*! \brief Argument struct for ast_ari_unpause_recording() */
struct ast_unpause_recording_args { struct ast_unpause_recording_args {
/*! \brief The name of the recording */ /*! \brief The name of the recording */
const char *recording_name; const char *recording_name;
@@ -153,8 +153,8 @@ struct ast_unpause_recording_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_unpause_recording(struct ast_variable *headers, struct ast_unpause_recording_args *args, struct stasis_http_response *response); void ast_ari_unpause_recording(struct ast_variable *headers, struct ast_unpause_recording_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_mute_recording() */ /*! \brief Argument struct for ast_ari_mute_recording() */
struct ast_mute_recording_args { struct ast_mute_recording_args {
/*! \brief The name of the recording */ /*! \brief The name of the recording */
const char *recording_name; const char *recording_name;
@@ -168,8 +168,8 @@ struct ast_mute_recording_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_mute_recording(struct ast_variable *headers, struct ast_mute_recording_args *args, struct stasis_http_response *response); void ast_ari_mute_recording(struct ast_variable *headers, struct ast_mute_recording_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_unmute_recording() */ /*! \brief Argument struct for ast_ari_unmute_recording() */
struct ast_unmute_recording_args { struct ast_unmute_recording_args {
/*! \brief The name of the recording */ /*! \brief The name of the recording */
const char *recording_name; const char *recording_name;
@@ -181,6 +181,6 @@ struct ast_unmute_recording_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_unmute_recording(struct ast_variable *headers, struct ast_unmute_recording_args *args, struct stasis_http_response *response); void ast_ari_unmute_recording(struct ast_variable *headers, struct ast_unmute_recording_args *args, struct ast_ari_response *response);
#endif /* _ASTERISK_RESOURCE_RECORDINGS_H */ #endif /* _ASTERISK_RESOURCE_RECORDINGS_H */

View File

@@ -173,48 +173,48 @@ static int append_sound_cb(void *obj, void *arg, void *data, int flags)
return 0; return 0;
} }
void stasis_http_get_sounds(struct ast_variable *headers, struct ast_get_sounds_args *args, struct stasis_http_response *response) void ast_ari_get_sounds(struct ast_variable *headers, struct ast_get_sounds_args *args, struct ast_ari_response *response)
{ {
RAII_VAR(struct ao2_container *, sound_files, NULL, ao2_cleanup); RAII_VAR(struct ao2_container *, sound_files, NULL, ao2_cleanup);
struct ast_json *sounds_blob; struct ast_json *sounds_blob;
RAII_VAR(struct ast_media_index *, sounds_index, ast_sounds_get_index(), ao2_cleanup); RAII_VAR(struct ast_media_index *, sounds_index, ast_sounds_get_index(), ao2_cleanup);
if (!sounds_index) { if (!sounds_index) {
stasis_http_response_error(response, 500, "Internal Error", "Sounds index not available"); ast_ari_response_error(response, 500, "Internal Error", "Sounds index not available");
return; return;
} }
sound_files = ast_media_get_media(sounds_index); sound_files = ast_media_get_media(sounds_index);
if (!sound_files) { if (!sound_files) {
stasis_http_response_error(response, 500, "Internal Error", "Allocation Error"); ast_ari_response_error(response, 500, "Internal Error", "Allocation Error");
return; return;
} }
sounds_blob = ast_json_array_create(); sounds_blob = ast_json_array_create();
if (!sounds_blob) { if (!sounds_blob) {
stasis_http_response_error(response, 500, "Internal Error", "Allocation Error"); ast_ari_response_error(response, 500, "Internal Error", "Allocation Error");
return; return;
} }
ao2_callback_data(sound_files, OBJ_NODATA, append_sound_cb, sounds_blob, args); ao2_callback_data(sound_files, OBJ_NODATA, append_sound_cb, sounds_blob, args);
if (!ast_json_array_size(sounds_blob)) { if (!ast_json_array_size(sounds_blob)) {
stasis_http_response_error(response, 404, "Not Found", "No sounds found that matched the query"); ast_ari_response_error(response, 404, "Not Found", "No sounds found that matched the query");
return; return;
} }
stasis_http_response_ok(response, sounds_blob); ast_ari_response_ok(response, sounds_blob);
} }
void stasis_http_get_stored_sound(struct ast_variable *headers, struct ast_get_stored_sound_args *args, struct stasis_http_response *response) void ast_ari_get_stored_sound(struct ast_variable *headers, struct ast_get_stored_sound_args *args, struct ast_ari_response *response)
{ {
struct ast_json *sound_blob; struct ast_json *sound_blob;
sound_blob = create_sound_blob(args->sound_id, NULL); sound_blob = create_sound_blob(args->sound_id, NULL);
if (!sound_blob) { if (!sound_blob) {
stasis_http_response_error(response, 404, "Not Found", "Sound not found"); ast_ari_response_error(response, 404, "Not Found", "Sound not found");
return; return;
} }
stasis_http_response_ok(response, sound_blob); ast_ari_response_ok(response, sound_blob);
} }

View File

@@ -19,7 +19,7 @@
/*! \file /*! \file
* *
* \brief Generated file - declares stubs to be implemented in * \brief Generated file - declares stubs to be implemented in
* res/stasis_http/resource_sounds.c * res/ari/resource_sounds.c
* *
* Sound resources * Sound resources
* *
@@ -31,15 +31,15 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/stasis_http_resource.h.mustache * template in rest-api-templates/ari_resource.h.mustache
*/ */
#ifndef _ASTERISK_RESOURCE_SOUNDS_H #ifndef _ASTERISK_RESOURCE_SOUNDS_H
#define _ASTERISK_RESOURCE_SOUNDS_H #define _ASTERISK_RESOURCE_SOUNDS_H
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
/*! \brief Argument struct for stasis_http_get_sounds() */ /*! \brief Argument struct for ast_ari_get_sounds() */
struct ast_get_sounds_args { struct ast_get_sounds_args {
const char *lang; const char *lang;
const char *format; const char *format;
@@ -51,8 +51,8 @@ struct ast_get_sounds_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_sounds(struct ast_variable *headers, struct ast_get_sounds_args *args, struct stasis_http_response *response); void ast_ari_get_sounds(struct ast_variable *headers, struct ast_get_sounds_args *args, struct ast_ari_response *response);
/*! \brief Argument struct for stasis_http_get_stored_sound() */ /*! \brief Argument struct for ast_ari_get_stored_sound() */
struct ast_get_stored_sound_args { struct ast_get_stored_sound_args {
/*! \brief Sound's id */ /*! \brief Sound's id */
const char *sound_id; const char *sound_id;
@@ -64,6 +64,6 @@ struct ast_get_stored_sound_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_get_stored_sound(struct ast_variable *headers, struct ast_get_stored_sound_args *args, struct stasis_http_response *response); void ast_ari_get_stored_sound(struct ast_variable *headers, struct ast_get_stored_sound_args *args, struct ast_ari_response *response);
#endif /* _ASTERISK_RESOURCE_SOUNDS_H */ #endif /* _ASTERISK_RESOURCE_SOUNDS_H */

View File

@@ -42,30 +42,30 @@
* *
* The structure of the generated code is: * The structure of the generated code is:
* *
* - res/stasis_http/resource_{resource}.h * - res/ari/resource_{resource}.h
* - For each operation in the resouce, a generated argument structure * - For each operation in the resouce, a generated argument structure
* (holding the parsed arguments from the request) and function * (holding the parsed arguments from the request) and function
* declarations (to implement in res/stasis_http/resource_{resource}.c) * declarations (to implement in res/ari/resource_{resource}.c)
* - res_stasis_http_{resource}.c * - res_ari_{resource}.c
* - A set of \ref stasis_rest_callback functions, which glue the two * - A set of \ref stasis_rest_callback functions, which glue the two
* together. They parse out path variables and request parameters to * together. They parse out path variables and request parameters to
* populate a specific \c *_args which is passed to the specific request * populate a specific \c *_args which is passed to the specific request
* handler (in res/stasis_http/resource_{resource}.c) * handler (in res/ari/resource_{resource}.c)
* - A tree of \ref stasis_rest_handlers for routing requests to its * - A tree of \ref stasis_rest_handlers for routing requests to its
* \ref stasis_rest_callback * \ref stasis_rest_callback
* *
* The basic flow of an HTTP request is: * The basic flow of an HTTP request is:
* *
* - stasis_http_callback() * - ast_ari_callback()
* 1. Initial request validation * 1. Initial request validation
* 2. Routes as either a doc request (stasis_http_get_docs) or API * 2. Routes as either a doc request (ast_ari_get_docs) or API
* request (stasis_http_invoke) * request (ast_ari_invoke)
* - stasis_http_invoke() * - ast_ari_invoke()
* 1. Further request validation * 1. Further request validation
* 2. Routes the request through the tree of generated * 2. Routes the request through the tree of generated
* \ref stasis_rest_handlers. * \ref stasis_rest_handlers.
* 3. Dispatch to the generated callback * 3. Dispatch to the generated callback
* - \c stasis_http_*_cb * - \c ast_ari_*_cb
* 1. Populate \c *_args struct with path and get params * 1. Populate \c *_args struct with path and get params
* 2. Invoke the request handler * 2. Invoke the request handler
* 3. Validates and sends response * 3. Validates and sends response
@@ -77,16 +77,16 @@
***/ ***/
/*** DOCUMENTATION /*** DOCUMENTATION
<configInfo name="res_stasis_http" language="en_US"> <configInfo name="res_ari" language="en_US">
<synopsis>HTTP binding for the Stasis API</synopsis> <synopsis>HTTP binding for the Stasis API</synopsis>
<configFile name="ari.conf"> <configFile name="ari.conf">
<configObject name="general"> <configObject name="general">
<synopsis>General configuration settings</synopsis> <synopsis>General configuration settings</synopsis>
<configOption name="enabled"> <configOption name="enabled">
<synopsis>Enable/disable the stasis-http module</synopsis> <synopsis>Enable/disable the ARI module</synopsis>
</configOption> </configOption>
<configOption name="pretty"> <configOption name="pretty">
<synopsis>Responses from stasis-http are formatted to be human readable</synopsis> <synopsis>Responses from ARI are formatted to be human readable</synopsis>
</configOption> </configOption>
<configOption name="auth_realm"> <configOption name="auth_realm">
<synopsis>Realm to use for authentication. Defaults to Asterisk REST Interface.</synopsis> <synopsis>Realm to use for authentication. Defaults to Asterisk REST Interface.</synopsis>
@@ -127,8 +127,8 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/astobj2.h" #include "asterisk/astobj2.h"
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/paths.h" #include "asterisk/paths.h"
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
#include "stasis_http/internal.h" #include "ari/internal.h"
#include <string.h> #include <string.h>
#include <sys/stat.h> #include <sys/stat.h>
@@ -137,7 +137,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
/*! \brief Helper function to check if module is enabled. */ /*! \brief Helper function to check if module is enabled. */
static int is_enabled(void) static int is_enabled(void)
{ {
RAII_VAR(struct ari_conf *, cfg, ari_config_get(), ao2_cleanup); RAII_VAR(struct ast_ari_conf *, cfg, ast_ari_config_get(), ao2_cleanup);
return cfg && cfg->general && cfg->general->enabled; return cfg && cfg->general && cfg->general->enabled;
} }
@@ -150,12 +150,12 @@ static struct stasis_rest_handlers *root_handler;
/*! Pre-defined message for allocation failures. */ /*! Pre-defined message for allocation failures. */
static struct ast_json *oom_json; static struct ast_json *oom_json;
struct ast_json *ari_oom_json(void) struct ast_json *ast_ari_oom_json(void)
{ {
return oom_json; return oom_json;
} }
int stasis_http_add_handler(struct stasis_rest_handlers *handler) int ast_ari_add_handler(struct stasis_rest_handlers *handler)
{ {
RAII_VAR(struct stasis_rest_handlers *, new_handler, NULL, ao2_cleanup); RAII_VAR(struct stasis_rest_handlers *, new_handler, NULL, ao2_cleanup);
size_t old_size, new_size; size_t old_size, new_size;
@@ -180,7 +180,7 @@ int stasis_http_add_handler(struct stasis_rest_handlers *handler)
return 0; return 0;
} }
int stasis_http_remove_handler(struct stasis_rest_handlers *handler) int ast_ari_remove_handler(struct stasis_rest_handlers *handler)
{ {
RAII_VAR(struct stasis_rest_handlers *, new_handler, NULL, ao2_cleanup); RAII_VAR(struct stasis_rest_handlers *, new_handler, NULL, ao2_cleanup);
size_t size, i, j; size_t size, i, j;
@@ -234,7 +234,7 @@ static struct stasis_rest_handlers *root_handler_create(void)
return handler; return handler;
} }
void stasis_http_response_error(struct stasis_http_response *response, void ast_ari_response_error(struct ast_ari_response *response,
int response_code, int response_code,
const char *response_text, const char *response_text,
const char *message_fmt, ...) const char *message_fmt, ...)
@@ -250,7 +250,7 @@ void stasis_http_response_error(struct stasis_http_response *response,
response->response_text = response_text; response->response_text = response_text;
} }
void stasis_http_response_ok(struct stasis_http_response *response, void ast_ari_response_ok(struct ast_ari_response *response,
struct ast_json *message) struct ast_json *message)
{ {
response->message = ast_json_ref(message); response->message = ast_json_ref(message);
@@ -258,21 +258,21 @@ void stasis_http_response_ok(struct stasis_http_response *response,
response->response_text = "OK"; response->response_text = "OK";
} }
void stasis_http_response_no_content(struct stasis_http_response *response) void ast_ari_response_no_content(struct ast_ari_response *response)
{ {
response->message = ast_json_null(); response->message = ast_json_null();
response->response_code = 204; response->response_code = 204;
response->response_text = "No Content"; response->response_text = "No Content";
} }
void stasis_http_response_alloc_failed(struct stasis_http_response *response) void ast_ari_response_alloc_failed(struct ast_ari_response *response)
{ {
response->message = ast_json_ref(oom_json); response->message = ast_json_ref(oom_json);
response->response_code = 500; response->response_code = 500;
response->response_text = "Internal Server Error"; response->response_text = "Internal Server Error";
} }
void stasis_http_response_created(struct stasis_http_response *response, void ast_ari_response_created(struct ast_ari_response *response,
const char *url, struct ast_json *message) const char *url, struct ast_json *message)
{ {
response->message = ast_json_ref(message); response->message = ast_json_ref(message);
@@ -282,7 +282,7 @@ void stasis_http_response_created(struct stasis_http_response *response,
} }
static void add_allow_header(struct stasis_rest_handlers *handler, static void add_allow_header(struct stasis_rest_handlers *handler,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
enum ast_http_method m; enum ast_http_method m;
ast_str_append(&response->headers, 0, ast_str_append(&response->headers, 0,
@@ -298,7 +298,7 @@ static void add_allow_header(struct stasis_rest_handlers *handler,
static int origin_allowed(const char *origin) static int origin_allowed(const char *origin)
{ {
RAII_VAR(struct ari_conf *, cfg, ari_config_get(), ao2_cleanup); RAII_VAR(struct ast_ari_conf *, cfg, ast_ari_config_get(), ao2_cleanup);
char *allowed = ast_strdupa(cfg->general->allowed_origins); char *allowed = ast_strdupa(cfg->general->allowed_origins);
char *current; char *current;
@@ -329,7 +329,7 @@ static int origin_allowed(const char *origin)
*/ */
static void handle_options(struct stasis_rest_handlers *handler, static void handle_options(struct stasis_rest_handlers *handler,
struct ast_variable *headers, struct ast_variable *headers,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
struct ast_variable *header; struct ast_variable *header;
char const *acr_method = NULL; char const *acr_method = NULL;
@@ -342,7 +342,7 @@ static void handle_options(struct stasis_rest_handlers *handler,
/* Regular OPTIONS response */ /* Regular OPTIONS response */
add_allow_header(handler, response); add_allow_header(handler, response);
stasis_http_response_no_content(response); ast_ari_response_no_content(response);
/* Parse CORS headers */ /* Parse CORS headers */
for (header = headers; header != NULL; header = header->next) { for (header = headers; header != NULL; header = header->next) {
@@ -399,7 +399,7 @@ static void handle_options(struct stasis_rest_handlers *handler,
allow = ast_str_create(20); allow = ast_str_create(20);
if (!allow) { if (!allow) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -457,10 +457,10 @@ static void handle_options(struct stasis_rest_handlers *handler,
} }
} }
void stasis_http_invoke(struct ast_tcptls_session_instance *ser, void ast_ari_invoke(struct ast_tcptls_session_instance *ser,
const char *uri, enum ast_http_method method, const char *uri, enum ast_http_method method,
struct ast_variable *get_params, struct ast_variable *headers, struct ast_variable *get_params, struct ast_variable *headers,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(char *, response_text, NULL, ast_free); RAII_VAR(char *, response_text, NULL, ast_free);
RAII_VAR(struct stasis_rest_handlers *, root, NULL, ao2_cleanup); RAII_VAR(struct stasis_rest_handlers *, root, NULL, ao2_cleanup);
@@ -496,7 +496,7 @@ void stasis_http_invoke(struct ast_tcptls_session_instance *ser,
if (found_handler == NULL) { if (found_handler == NULL) {
/* resource not found */ /* resource not found */
ast_debug(3, " Handler not found\n"); ast_debug(3, " Handler not found\n");
stasis_http_response_error( ast_ari_response_error(
response, 404, "Not Found", response, 404, "Not Found",
"Resource not found"); "Resource not found");
return; return;
@@ -514,7 +514,7 @@ void stasis_http_invoke(struct ast_tcptls_session_instance *ser,
if (method < 0 || method >= AST_HTTP_MAX_METHOD) { if (method < 0 || method >= AST_HTTP_MAX_METHOD) {
add_allow_header(handler, response); add_allow_header(handler, response);
stasis_http_response_error( ast_ari_response_error(
response, 405, "Method Not Allowed", response, 405, "Method Not Allowed",
"Invalid method"); "Invalid method");
return; return;
@@ -536,7 +536,7 @@ void stasis_http_invoke(struct ast_tcptls_session_instance *ser,
callback = handler->callbacks[method]; callback = handler->callbacks[method];
if (callback == NULL) { if (callback == NULL) {
add_allow_header(handler, response); add_allow_header(handler, response);
stasis_http_response_error( ast_ari_response_error(
response, 405, "Method Not Allowed", response, 405, "Method Not Allowed",
"Invalid method"); "Invalid method");
return; return;
@@ -547,14 +547,14 @@ void stasis_http_invoke(struct ast_tcptls_session_instance *ser,
/* Really should not happen */ /* Really should not happen */
ast_log(LOG_ERROR, "ARI %s %s not implemented\n", ast_log(LOG_ERROR, "ARI %s %s not implemented\n",
ast_get_http_method(method), uri); ast_get_http_method(method), uri);
stasis_http_response_error( ast_ari_response_error(
response, 501, "Not Implemented", response, 501, "Not Implemented",
"Method not implemented"); "Method not implemented");
} }
} }
void stasis_http_get_docs(const char *uri, struct ast_variable *headers, void ast_ari_get_docs(const char *uri, struct ast_variable *headers,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
RAII_VAR(struct ast_str *, absolute_path_builder, NULL, ast_free); RAII_VAR(struct ast_str *, absolute_path_builder, NULL, ast_free);
RAII_VAR(char *, absolute_api_dirname, NULL, free); RAII_VAR(char *, absolute_api_dirname, NULL, free);
@@ -568,7 +568,7 @@ void stasis_http_get_docs(const char *uri, struct ast_variable *headers,
absolute_path_builder = ast_str_create(80); absolute_path_builder = ast_str_create(80);
if (absolute_path_builder == NULL) { if (absolute_path_builder == NULL) {
stasis_http_response_alloc_failed(response); ast_ari_response_alloc_failed(response);
return; return;
} }
@@ -578,7 +578,7 @@ void stasis_http_get_docs(const char *uri, struct ast_variable *headers,
absolute_api_dirname = realpath(ast_str_buffer(absolute_path_builder), NULL); absolute_api_dirname = realpath(ast_str_buffer(absolute_path_builder), NULL);
if (absolute_api_dirname == NULL) { if (absolute_api_dirname == NULL) {
ast_log(LOG_ERROR, "Error determining real directory for rest-api\n"); ast_log(LOG_ERROR, "Error determining real directory for rest-api\n");
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Cannot find rest-api directory"); "Cannot find rest-api directory");
return; return;
@@ -592,12 +592,12 @@ void stasis_http_get_docs(const char *uri, struct ast_variable *headers,
case ENAMETOOLONG: case ENAMETOOLONG:
case ENOENT: case ENOENT:
case ENOTDIR: case ENOTDIR:
stasis_http_response_error( ast_ari_response_error(
response, 404, "Not Found", response, 404, "Not Found",
"Resource not found"); "Resource not found");
break; break;
case EACCES: case EACCES:
stasis_http_response_error( ast_ari_response_error(
response, 403, "Forbidden", response, 403, "Forbidden",
"Permission denied"); "Permission denied");
break; break;
@@ -605,7 +605,7 @@ void stasis_http_get_docs(const char *uri, struct ast_variable *headers,
ast_log(LOG_ERROR, ast_log(LOG_ERROR,
"Error determining real path for uri '%s': %s\n", "Error determining real path for uri '%s': %s\n",
uri, strerror(errno)); uri, strerror(errno));
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Cannot find file"); "Cannot find file");
break; break;
@@ -618,7 +618,7 @@ void stasis_http_get_docs(const char *uri, struct ast_variable *headers,
ast_log(LOG_ERROR, ast_log(LOG_ERROR,
"Invalid attempt to access '%s' (not in %s)\n", "Invalid attempt to access '%s' (not in %s)\n",
absolute_filename, absolute_api_dirname); absolute_filename, absolute_api_dirname);
stasis_http_response_error( ast_ari_response_error(
response, 404, "Not Found", response, 404, "Not Found",
"Resource not found"); "Resource not found");
return; return;
@@ -627,14 +627,14 @@ void stasis_http_get_docs(const char *uri, struct ast_variable *headers,
if (stat(absolute_filename, &file_stat) == 0) { if (stat(absolute_filename, &file_stat) == 0) {
if (!(file_stat.st_mode & S_IFREG)) { if (!(file_stat.st_mode & S_IFREG)) {
/* Not a file */ /* Not a file */
stasis_http_response_error( ast_ari_response_error(
response, 403, "Forbidden", response, 403, "Forbidden",
"Invalid access"); "Invalid access");
return; return;
} }
} else { } else {
/* Does not exist */ /* Does not exist */
stasis_http_response_error( ast_ari_response_error(
response, 404, "Not Found", response, 404, "Not Found",
"Resource not found"); "Resource not found");
return; return;
@@ -645,7 +645,7 @@ void stasis_http_get_docs(const char *uri, struct ast_variable *headers,
if (obj == NULL) { if (obj == NULL) {
ast_log(LOG_ERROR, "Error parsing resource file: %s:%d(%d) %s\n", ast_log(LOG_ERROR, "Error parsing resource file: %s:%d(%d) %s\n",
error.source, error.line, error.column, error.text); error.source, error.line, error.column, error.text);
stasis_http_response_error( ast_ari_response_error(
response, 500, "Internal Server Error", response, 500, "Internal Server Error",
"Yikes! Cannot parse resource"); "Yikes! Cannot parse resource");
return; return;
@@ -668,11 +668,11 @@ void stasis_http_get_docs(const char *uri, struct ast_variable *headers,
} }
} }
stasis_http_response_ok(response, obj); ast_ari_response_ok(response, obj);
} }
static void remove_trailing_slash(const char *uri, static void remove_trailing_slash(const char *uri,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
char *slashless = ast_strdupa(uri); char *slashless = ast_strdupa(uri);
slashless[strlen(slashless) - 1] = '\0'; slashless[strlen(slashless) - 1] = '\0';
@@ -693,7 +693,7 @@ static void remove_trailing_slash(const char *uri,
* Given all of that, a 404 with a nice message telling them what to do * Given all of that, a 404 with a nice message telling them what to do
* is probably our best bet. * is probably our best bet.
*/ */
stasis_http_response_error(response, 404, "Not Found", ast_ari_response_error(response, 404, "Not Found",
"ARI URLs do not end with a slash. Try /ari/%s", slashless); "ARI URLs do not end with a slash. Try /ari/%s", slashless);
} }
@@ -703,7 +703,7 @@ static void remove_trailing_slash(const char *uri,
* See http://www.w3.org/TR/cors/ for the spec. Especially section 6.1. * See http://www.w3.org/TR/cors/ for the spec. Especially section 6.1.
*/ */
static void process_cors_request(struct ast_variable *headers, static void process_cors_request(struct ast_variable *headers,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
char const *origin = NULL; char const *origin = NULL;
struct ast_variable *header; struct ast_variable *header;
@@ -755,10 +755,10 @@ static void process_cors_request(struct ast_variable *headers,
*/ */
} }
enum ast_json_encoding_format stasis_http_json_format(void) enum ast_json_encoding_format ast_ari_json_format(void)
{ {
RAII_VAR(struct ari_conf *, cfg, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf *, cfg, NULL, ao2_cleanup);
cfg = ari_config_get(); cfg = ast_ari_config_get();
return cfg->general->format; return cfg->general->format;
} }
@@ -769,7 +769,7 @@ enum ast_json_encoding_format stasis_http_json_format(void)
* \return User object for the authenticated user. * \return User object for the authenticated user.
* \return \c NULL if authentication failed. * \return \c NULL if authentication failed.
*/ */
static struct ari_conf_user *authenticate_api_key(const char *api_key) static struct ast_ari_conf_user *authenticate_api_key(const char *api_key)
{ {
RAII_VAR(char *, copy, NULL, ast_free); RAII_VAR(char *, copy, NULL, ast_free);
char *username; char *username;
@@ -786,7 +786,7 @@ static struct ari_conf_user *authenticate_api_key(const char *api_key)
return NULL; return NULL;
} }
return ari_config_validate_user(username, password); return ast_ari_config_validate_user(username, password);
} }
/*! /*!
@@ -797,7 +797,7 @@ static struct ari_conf_user *authenticate_api_key(const char *api_key)
* \return User object for the authenticated user. * \return User object for the authenticated user.
* \return \c NULL if authentication failed. * \return \c NULL if authentication failed.
*/ */
static struct ari_conf_user *authenticate_user(struct ast_variable *get_params, static struct ast_ari_conf_user *authenticate_user(struct ast_variable *get_params,
struct ast_variable *headers) struct ast_variable *headers)
{ {
RAII_VAR(struct ast_http_auth *, http_auth, NULL, ao2_cleanup); RAII_VAR(struct ast_http_auth *, http_auth, NULL, ao2_cleanup);
@@ -806,7 +806,7 @@ static struct ari_conf_user *authenticate_user(struct ast_variable *get_params,
/* HTTP Basic authentication */ /* HTTP Basic authentication */
http_auth = ast_http_get_auth(headers); http_auth = ast_http_get_auth(headers);
if (http_auth) { if (http_auth) {
return ari_config_validate_user(http_auth->userid, return ast_ari_config_validate_user(http_auth->userid,
http_auth->password); http_auth->password);
} }
@@ -822,7 +822,7 @@ static struct ari_conf_user *authenticate_user(struct ast_variable *get_params,
/*! /*!
* \internal * \internal
* \brief Stasis HTTP handler. * \brief ARI HTTP handler.
* *
* This handler takes the HTTP request and turns it into the appropriate * This handler takes the HTTP request and turns it into the appropriate
* RESTful request (conversion to JSON, routing, etc.) * RESTful request (conversion to JSON, routing, etc.)
@@ -834,18 +834,18 @@ static struct ari_conf_user *authenticate_user(struct ast_variable *get_params,
* \param get_params HTTP \c GET params. * \param get_params HTTP \c GET params.
* \param headers HTTP headers. * \param headers HTTP headers.
*/ */
static int stasis_http_callback(struct ast_tcptls_session_instance *ser, static int ast_ari_callback(struct ast_tcptls_session_instance *ser,
const struct ast_http_uri *urih, const struct ast_http_uri *urih,
const char *uri, const char *uri,
enum ast_http_method method, enum ast_http_method method,
struct ast_variable *get_params, struct ast_variable *get_params,
struct ast_variable *headers) struct ast_variable *headers)
{ {
RAII_VAR(struct ari_conf *, conf, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf *, conf, NULL, ao2_cleanup);
RAII_VAR(struct ast_str *, response_headers, ast_str_create(40), ast_free); RAII_VAR(struct ast_str *, response_headers, ast_str_create(40), ast_free);
RAII_VAR(struct ast_str *, response_body, ast_str_create(256), ast_free); RAII_VAR(struct ast_str *, response_body, ast_str_create(256), ast_free);
RAII_VAR(struct ari_conf_user *, user, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_conf_user *, user, NULL, ao2_cleanup);
struct stasis_http_response response = {}; struct ast_ari_response response = {};
int ret = 0; int ret = 0;
if (!response_headers || !response_body) { if (!response_headers || !response_body) {
@@ -857,7 +857,7 @@ static int stasis_http_callback(struct ast_tcptls_session_instance *ser,
return -1; return -1;
} }
conf = ari_config_get(); conf = ast_ari_config_get();
if (!conf || !conf->general) { if (!conf || !conf->general) {
return -1; return -1;
} }
@@ -908,11 +908,11 @@ static int stasis_http_callback(struct ast_tcptls_session_instance *ser,
response.response_text = "Method Not Allowed"; response.response_text = "Method Not Allowed";
} else { } else {
/* Skip the api-docs prefix */ /* Skip the api-docs prefix */
stasis_http_get_docs(strchr(uri, '/') + 1, headers, &response); ast_ari_get_docs(strchr(uri, '/') + 1, headers, &response);
} }
} else { } else {
/* Other RESTful resources */ /* Other RESTful resources */
stasis_http_invoke(ser, uri, method, get_params, headers, ast_ari_invoke(ser, uri, method, get_params, headers,
&response); &response);
} }
@@ -959,7 +959,7 @@ static int stasis_http_callback(struct ast_tcptls_session_instance *ser,
} }
static struct ast_http_uri http_uri = { static struct ast_http_uri http_uri = {
.callback = stasis_http_callback, .callback = ast_ari_callback,
.description = "Asterisk RESTful API", .description = "Asterisk RESTful API",
.uri = "ari", .uri = "ari",
@@ -991,7 +991,7 @@ static int load_module(void)
return AST_MODULE_LOAD_FAILURE; return AST_MODULE_LOAD_FAILURE;
} }
if (ari_config_init() != 0) { if (ast_ari_config_init() != 0) {
return AST_MODULE_LOAD_DECLINE; return AST_MODULE_LOAD_DECLINE;
} }
@@ -1002,7 +1002,7 @@ static int load_module(void)
ast_debug(3, "ARI disabled\n"); ast_debug(3, "ARI disabled\n");
} }
if (ari_cli_register() != 0) { if (ast_ari_cli_register() != 0) {
return AST_MODULE_LOAD_FAILURE; return AST_MODULE_LOAD_FAILURE;
} }
@@ -1011,14 +1011,14 @@ static int load_module(void)
static int unload_module(void) static int unload_module(void)
{ {
ari_cli_unregister(); ast_ari_cli_unregister();
if (is_enabled()) { if (is_enabled()) {
ast_debug(3, "Disabling ARI\n"); ast_debug(3, "Disabling ARI\n");
ast_http_uri_unlink(&http_uri); ast_http_uri_unlink(&http_uri);
} }
ari_config_destroy(); ast_ari_config_destroy();
ao2_cleanup(root_handler); ao2_cleanup(root_handler);
root_handler = NULL; root_handler = NULL;
@@ -1034,7 +1034,7 @@ static int reload_module(void)
{ {
char was_enabled = is_enabled(); char was_enabled = is_enabled();
if (ari_config_reload() != 0) { if (ast_ari_config_reload() != 0) {
return AST_MODULE_LOAD_DECLINE; return AST_MODULE_LOAD_DECLINE;
} }

6
res/res_ari.exports.in Normal file
View File

@@ -0,0 +1,6 @@
{
global:
LINKER_SYMBOL_PREFIXast_ari_*;
local:
*;
};

View File

@@ -21,7 +21,7 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/res_stasis_http_resource.c.mustache * template in rest-api-templates/res_ari_resource.c.mustache
*/ */
/*! \file /*! \file
@@ -32,7 +32,7 @@
*/ */
/*** MODULEINFO /*** MODULEINFO
<depend type="module">res_stasis_http</depend> <depend type="module">res_ari</depend>
<depend type="module">res_stasis</depend> <depend type="module">res_stasis</depend>
<support_level>core</support_level> <support_level>core</support_level>
***/ ***/
@@ -43,9 +43,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/stasis_app.h" #include "asterisk/stasis_app.h"
#include "stasis_http/resource_asterisk.h" #include "ari/resource_asterisk.h"
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
#include "stasis_http/ari_model_validators.h" #include "ari/ari_model_validators.h"
#endif #endif
/*! /*!
@@ -55,9 +55,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_asterisk_info_cb( static void ast_ari_get_asterisk_info_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -73,7 +73,7 @@ static void stasis_http_get_asterisk_info_cb(
} else } else
{} {}
} }
stasis_http_get_asterisk_info(headers, &args, response); ast_ari_get_asterisk_info(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -87,7 +87,7 @@ static void stasis_http_get_asterisk_info_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_asterisk_info( is_valid = ast_ari_validate_asterisk_info(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /asterisk/info\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /asterisk/info\n", code);
@@ -97,7 +97,7 @@ static void stasis_http_get_asterisk_info_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /asterisk/info\n"); ast_log(LOG_ERROR, "Response validation failed for /asterisk/info\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -109,9 +109,9 @@ static void stasis_http_get_asterisk_info_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_global_var_cb( static void ast_ari_get_global_var_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -127,7 +127,7 @@ static void stasis_http_get_global_var_cb(
} else } else
{} {}
} }
stasis_http_get_global_var(headers, &args, response); ast_ari_get_global_var(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -141,7 +141,7 @@ static void stasis_http_get_global_var_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_variable( is_valid = ast_ari_validate_variable(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /asterisk/variable\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /asterisk/variable\n", code);
@@ -151,7 +151,7 @@ static void stasis_http_get_global_var_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /asterisk/variable\n"); ast_log(LOG_ERROR, "Response validation failed for /asterisk/variable\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -163,9 +163,9 @@ static void stasis_http_get_global_var_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_set_global_var_cb( static void ast_ari_set_global_var_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -184,7 +184,7 @@ static void stasis_http_set_global_var_cb(
} else } else
{} {}
} }
stasis_http_set_global_var(headers, &args, response); ast_ari_set_global_var(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -198,7 +198,7 @@ static void stasis_http_set_global_var_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /asterisk/variable\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /asterisk/variable\n", code);
@@ -208,7 +208,7 @@ static void stasis_http_set_global_var_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /asterisk/variable\n"); ast_log(LOG_ERROR, "Response validation failed for /asterisk/variable\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -218,7 +218,7 @@ static void stasis_http_set_global_var_cb(
static struct stasis_rest_handlers asterisk_info = { static struct stasis_rest_handlers asterisk_info = {
.path_segment = "info", .path_segment = "info",
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_asterisk_info_cb, [AST_HTTP_GET] = ast_ari_get_asterisk_info_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -227,8 +227,8 @@ static struct stasis_rest_handlers asterisk_info = {
static struct stasis_rest_handlers asterisk_variable = { static struct stasis_rest_handlers asterisk_variable = {
.path_segment = "variable", .path_segment = "variable",
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_global_var_cb, [AST_HTTP_GET] = ast_ari_get_global_var_cb,
[AST_HTTP_POST] = stasis_http_set_global_var_cb, [AST_HTTP_POST] = ast_ari_set_global_var_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -246,13 +246,13 @@ static int load_module(void)
{ {
int res = 0; int res = 0;
stasis_app_ref(); stasis_app_ref();
res |= stasis_http_add_handler(&asterisk); res |= ast_ari_add_handler(&asterisk);
return res; return res;
} }
static int unload_module(void) static int unload_module(void)
{ {
stasis_http_remove_handler(&asterisk); ast_ari_remove_handler(&asterisk);
stasis_app_unref(); stasis_app_unref();
return 0; return 0;
} }
@@ -260,5 +260,5 @@ static int unload_module(void)
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Asterisk resources", AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Asterisk resources",
.load = load_module, .load = load_module,
.unload = unload_module, .unload = unload_module,
.nonoptreq = "res_stasis_http,res_stasis", .nonoptreq = "res_ari,res_stasis",
); );

View File

@@ -21,7 +21,7 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/res_stasis_http_resource.c.mustache * template in rest-api-templates/res_ari_resource.c.mustache
*/ */
/*! \file /*! \file
@@ -32,7 +32,7 @@
*/ */
/*** MODULEINFO /*** MODULEINFO
<depend type="module">res_stasis_http</depend> <depend type="module">res_ari</depend>
<depend type="module">res_stasis</depend> <depend type="module">res_stasis</depend>
<support_level>core</support_level> <support_level>core</support_level>
***/ ***/
@@ -43,9 +43,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/stasis_app.h" #include "asterisk/stasis_app.h"
#include "stasis_http/resource_bridges.h" #include "ari/resource_bridges.h"
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
#include "stasis_http/ari_model_validators.h" #include "ari/ari_model_validators.h"
#endif #endif
/*! /*!
@@ -55,9 +55,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_bridges_cb( static void ast_ari_get_bridges_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -65,7 +65,7 @@ static void stasis_http_get_bridges_cb(
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
struct ast_get_bridges_args args = {}; struct ast_get_bridges_args args = {};
stasis_http_get_bridges(headers, &args, response); ast_ari_get_bridges(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -79,8 +79,8 @@ static void stasis_http_get_bridges_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_list(response->message, is_valid = ast_ari_validate_list(response->message,
ari_validate_bridge_fn()); ast_ari_validate_bridge_fn());
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /bridges\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /bridges\n", code);
is_valid = 0; is_valid = 0;
@@ -89,7 +89,7 @@ static void stasis_http_get_bridges_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /bridges\n"); ast_log(LOG_ERROR, "Response validation failed for /bridges\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -101,9 +101,9 @@ static void stasis_http_get_bridges_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_new_bridge_cb( static void ast_ari_new_bridge_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -119,7 +119,7 @@ static void stasis_http_new_bridge_cb(
} else } else
{} {}
} }
stasis_http_new_bridge(headers, &args, response); ast_ari_new_bridge(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -133,7 +133,7 @@ static void stasis_http_new_bridge_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_bridge( is_valid = ast_ari_validate_bridge(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /bridges\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /bridges\n", code);
@@ -143,7 +143,7 @@ static void stasis_http_new_bridge_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /bridges\n"); ast_log(LOG_ERROR, "Response validation failed for /bridges\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -155,9 +155,9 @@ static void stasis_http_new_bridge_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_bridge_cb( static void ast_ari_get_bridge_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -173,7 +173,7 @@ static void stasis_http_get_bridge_cb(
} else } else
{} {}
} }
stasis_http_get_bridge(headers, &args, response); ast_ari_get_bridge(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -188,7 +188,7 @@ static void stasis_http_get_bridge_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_bridge( is_valid = ast_ari_validate_bridge(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}\n", code);
@@ -198,7 +198,7 @@ static void stasis_http_get_bridge_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}\n"); ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -210,9 +210,9 @@ static void stasis_http_get_bridge_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_delete_bridge_cb( static void ast_ari_delete_bridge_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -228,7 +228,7 @@ static void stasis_http_delete_bridge_cb(
} else } else
{} {}
} }
stasis_http_delete_bridge(headers, &args, response); ast_ari_delete_bridge(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -243,7 +243,7 @@ static void stasis_http_delete_bridge_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}\n", code);
@@ -253,7 +253,7 @@ static void stasis_http_delete_bridge_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}\n"); ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -265,9 +265,9 @@ static void stasis_http_delete_bridge_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_add_channel_to_bridge_cb( static void ast_ari_add_channel_to_bridge_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -289,7 +289,7 @@ static void stasis_http_add_channel_to_bridge_cb(
} else } else
{} {}
} }
stasis_http_add_channel_to_bridge(headers, &args, response); ast_ari_add_channel_to_bridge(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -306,7 +306,7 @@ static void stasis_http_add_channel_to_bridge_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}/addChannel\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}/addChannel\n", code);
@@ -316,7 +316,7 @@ static void stasis_http_add_channel_to_bridge_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}/addChannel\n"); ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}/addChannel\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -328,9 +328,9 @@ static void stasis_http_add_channel_to_bridge_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_remove_channel_from_bridge_cb( static void ast_ari_remove_channel_from_bridge_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -352,7 +352,7 @@ static void stasis_http_remove_channel_from_bridge_cb(
} else } else
{} {}
} }
stasis_http_remove_channel_from_bridge(headers, &args, response); ast_ari_remove_channel_from_bridge(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -366,7 +366,7 @@ static void stasis_http_remove_channel_from_bridge_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}/removeChannel\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}/removeChannel\n", code);
@@ -376,7 +376,7 @@ static void stasis_http_remove_channel_from_bridge_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}/removeChannel\n"); ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}/removeChannel\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -388,9 +388,9 @@ static void stasis_http_remove_channel_from_bridge_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_play_on_bridge_cb( static void ast_ari_play_on_bridge_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -421,7 +421,7 @@ static void stasis_http_play_on_bridge_cb(
} else } else
{} {}
} }
stasis_http_play_on_bridge(headers, &args, response); ast_ari_play_on_bridge(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -437,7 +437,7 @@ static void stasis_http_play_on_bridge_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_playback( is_valid = ast_ari_validate_playback(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}/play\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}/play\n", code);
@@ -447,7 +447,7 @@ static void stasis_http_play_on_bridge_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}/play\n"); ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}/play\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -459,9 +459,9 @@ static void stasis_http_play_on_bridge_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_record_bridge_cb( static void ast_ari_record_bridge_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -501,7 +501,7 @@ static void stasis_http_record_bridge_cb(
} else } else
{} {}
} }
stasis_http_record_bridge(headers, &args, response); ast_ari_record_bridge(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -515,7 +515,7 @@ static void stasis_http_record_bridge_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_live_recording( is_valid = ast_ari_validate_live_recording(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}/record\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /bridges/{bridgeId}/record\n", code);
@@ -525,7 +525,7 @@ static void stasis_http_record_bridge_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}/record\n"); ast_log(LOG_ERROR, "Response validation failed for /bridges/{bridgeId}/record\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -535,7 +535,7 @@ static void stasis_http_record_bridge_cb(
static struct stasis_rest_handlers bridges_bridgeId_addChannel = { static struct stasis_rest_handlers bridges_bridgeId_addChannel = {
.path_segment = "addChannel", .path_segment = "addChannel",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_add_channel_to_bridge_cb, [AST_HTTP_POST] = ast_ari_add_channel_to_bridge_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -544,7 +544,7 @@ static struct stasis_rest_handlers bridges_bridgeId_addChannel = {
static struct stasis_rest_handlers bridges_bridgeId_removeChannel = { static struct stasis_rest_handlers bridges_bridgeId_removeChannel = {
.path_segment = "removeChannel", .path_segment = "removeChannel",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_remove_channel_from_bridge_cb, [AST_HTTP_POST] = ast_ari_remove_channel_from_bridge_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -553,7 +553,7 @@ static struct stasis_rest_handlers bridges_bridgeId_removeChannel = {
static struct stasis_rest_handlers bridges_bridgeId_play = { static struct stasis_rest_handlers bridges_bridgeId_play = {
.path_segment = "play", .path_segment = "play",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_play_on_bridge_cb, [AST_HTTP_POST] = ast_ari_play_on_bridge_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -562,7 +562,7 @@ static struct stasis_rest_handlers bridges_bridgeId_play = {
static struct stasis_rest_handlers bridges_bridgeId_record = { static struct stasis_rest_handlers bridges_bridgeId_record = {
.path_segment = "record", .path_segment = "record",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_record_bridge_cb, [AST_HTTP_POST] = ast_ari_record_bridge_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -572,8 +572,8 @@ static struct stasis_rest_handlers bridges_bridgeId = {
.path_segment = "bridgeId", .path_segment = "bridgeId",
.is_wildcard = 1, .is_wildcard = 1,
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_bridge_cb, [AST_HTTP_GET] = ast_ari_get_bridge_cb,
[AST_HTTP_DELETE] = stasis_http_delete_bridge_cb, [AST_HTTP_DELETE] = ast_ari_delete_bridge_cb,
}, },
.num_children = 4, .num_children = 4,
.children = { &bridges_bridgeId_addChannel,&bridges_bridgeId_removeChannel,&bridges_bridgeId_play,&bridges_bridgeId_record, } .children = { &bridges_bridgeId_addChannel,&bridges_bridgeId_removeChannel,&bridges_bridgeId_play,&bridges_bridgeId_record, }
@@ -582,8 +582,8 @@ static struct stasis_rest_handlers bridges_bridgeId = {
static struct stasis_rest_handlers bridges = { static struct stasis_rest_handlers bridges = {
.path_segment = "bridges", .path_segment = "bridges",
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_bridges_cb, [AST_HTTP_GET] = ast_ari_get_bridges_cb,
[AST_HTTP_POST] = stasis_http_new_bridge_cb, [AST_HTTP_POST] = ast_ari_new_bridge_cb,
}, },
.num_children = 1, .num_children = 1,
.children = { &bridges_bridgeId, } .children = { &bridges_bridgeId, }
@@ -593,13 +593,13 @@ static int load_module(void)
{ {
int res = 0; int res = 0;
stasis_app_ref(); stasis_app_ref();
res |= stasis_http_add_handler(&bridges); res |= ast_ari_add_handler(&bridges);
return res; return res;
} }
static int unload_module(void) static int unload_module(void)
{ {
stasis_http_remove_handler(&bridges); ast_ari_remove_handler(&bridges);
stasis_app_unref(); stasis_app_unref();
return 0; return 0;
} }
@@ -607,5 +607,5 @@ static int unload_module(void)
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Bridge resources", AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Bridge resources",
.load = load_module, .load = load_module,
.unload = unload_module, .unload = unload_module,
.nonoptreq = "res_stasis_http,res_stasis", .nonoptreq = "res_ari,res_stasis",
); );

View File

@@ -21,7 +21,7 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/res_stasis_http_resource.c.mustache * template in rest-api-templates/res_ari_resource.c.mustache
*/ */
/*! \file /*! \file
@@ -32,7 +32,7 @@
*/ */
/*** MODULEINFO /*** MODULEINFO
<depend type="module">res_stasis_http</depend> <depend type="module">res_ari</depend>
<depend type="module">res_stasis</depend> <depend type="module">res_stasis</depend>
<support_level>core</support_level> <support_level>core</support_level>
***/ ***/
@@ -43,9 +43,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/stasis_app.h" #include "asterisk/stasis_app.h"
#include "stasis_http/resource_channels.h" #include "ari/resource_channels.h"
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
#include "stasis_http/ari_model_validators.h" #include "ari/ari_model_validators.h"
#endif #endif
/*! /*!
@@ -55,9 +55,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_channels_cb( static void ast_ari_get_channels_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -65,7 +65,7 @@ static void stasis_http_get_channels_cb(
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
struct ast_get_channels_args args = {}; struct ast_get_channels_args args = {};
stasis_http_get_channels(headers, &args, response); ast_ari_get_channels(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -79,8 +79,8 @@ static void stasis_http_get_channels_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_list(response->message, is_valid = ast_ari_validate_list(response->message,
ari_validate_channel_fn()); ast_ari_validate_channel_fn());
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels\n", code);
is_valid = 0; is_valid = 0;
@@ -89,7 +89,7 @@ static void stasis_http_get_channels_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels\n"); ast_log(LOG_ERROR, "Response validation failed for /channels\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -101,9 +101,9 @@ static void stasis_http_get_channels_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_originate_cb( static void ast_ari_originate_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -140,7 +140,7 @@ static void stasis_http_originate_cb(
} else } else
{} {}
} }
stasis_http_originate(headers, &args, response); ast_ari_originate(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -155,7 +155,7 @@ static void stasis_http_originate_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels\n", code);
@@ -165,7 +165,7 @@ static void stasis_http_originate_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels\n"); ast_log(LOG_ERROR, "Response validation failed for /channels\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -177,9 +177,9 @@ static void stasis_http_originate_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_channel_cb( static void ast_ari_get_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -195,7 +195,7 @@ static void stasis_http_get_channel_cb(
} else } else
{} {}
} }
stasis_http_get_channel(headers, &args, response); ast_ari_get_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -210,7 +210,7 @@ static void stasis_http_get_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_channel( is_valid = ast_ari_validate_channel(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}\n", code);
@@ -220,7 +220,7 @@ static void stasis_http_get_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -232,9 +232,9 @@ static void stasis_http_get_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_delete_channel_cb( static void ast_ari_delete_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -250,7 +250,7 @@ static void stasis_http_delete_channel_cb(
} else } else
{} {}
} }
stasis_http_delete_channel(headers, &args, response); ast_ari_delete_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -265,7 +265,7 @@ static void stasis_http_delete_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}\n", code);
@@ -275,7 +275,7 @@ static void stasis_http_delete_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -287,9 +287,9 @@ static void stasis_http_delete_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_dial_cb( static void ast_ari_dial_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -320,7 +320,7 @@ static void stasis_http_dial_cb(
} else } else
{} {}
} }
stasis_http_dial(headers, &args, response); ast_ari_dial(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -336,7 +336,7 @@ static void stasis_http_dial_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_dialed( is_valid = ast_ari_validate_dialed(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/dial\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/dial\n", code);
@@ -346,7 +346,7 @@ static void stasis_http_dial_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/dial\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/dial\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -358,9 +358,9 @@ static void stasis_http_dial_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_continue_in_dialplan_cb( static void ast_ari_continue_in_dialplan_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -388,7 +388,7 @@ static void stasis_http_continue_in_dialplan_cb(
} else } else
{} {}
} }
stasis_http_continue_in_dialplan(headers, &args, response); ast_ari_continue_in_dialplan(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -404,7 +404,7 @@ static void stasis_http_continue_in_dialplan_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/continue\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/continue\n", code);
@@ -414,7 +414,7 @@ static void stasis_http_continue_in_dialplan_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/continue\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/continue\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -426,9 +426,9 @@ static void stasis_http_continue_in_dialplan_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_answer_channel_cb( static void ast_ari_answer_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -444,7 +444,7 @@ static void stasis_http_answer_channel_cb(
} else } else
{} {}
} }
stasis_http_answer_channel(headers, &args, response); ast_ari_answer_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -460,7 +460,7 @@ static void stasis_http_answer_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/answer\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/answer\n", code);
@@ -470,7 +470,7 @@ static void stasis_http_answer_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/answer\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/answer\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -482,9 +482,9 @@ static void stasis_http_answer_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_mute_channel_cb( static void ast_ari_mute_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -506,7 +506,7 @@ static void stasis_http_mute_channel_cb(
} else } else
{} {}
} }
stasis_http_mute_channel(headers, &args, response); ast_ari_mute_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -522,7 +522,7 @@ static void stasis_http_mute_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/mute\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/mute\n", code);
@@ -532,7 +532,7 @@ static void stasis_http_mute_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/mute\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/mute\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -544,9 +544,9 @@ static void stasis_http_mute_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_unmute_channel_cb( static void ast_ari_unmute_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -568,7 +568,7 @@ static void stasis_http_unmute_channel_cb(
} else } else
{} {}
} }
stasis_http_unmute_channel(headers, &args, response); ast_ari_unmute_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -584,7 +584,7 @@ static void stasis_http_unmute_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/unmute\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/unmute\n", code);
@@ -594,7 +594,7 @@ static void stasis_http_unmute_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/unmute\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/unmute\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -606,9 +606,9 @@ static void stasis_http_unmute_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_hold_channel_cb( static void ast_ari_hold_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -624,7 +624,7 @@ static void stasis_http_hold_channel_cb(
} else } else
{} {}
} }
stasis_http_hold_channel(headers, &args, response); ast_ari_hold_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -640,7 +640,7 @@ static void stasis_http_hold_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/hold\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/hold\n", code);
@@ -650,7 +650,7 @@ static void stasis_http_hold_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/hold\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/hold\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -662,9 +662,9 @@ static void stasis_http_hold_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_unhold_channel_cb( static void ast_ari_unhold_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -680,7 +680,7 @@ static void stasis_http_unhold_channel_cb(
} else } else
{} {}
} }
stasis_http_unhold_channel(headers, &args, response); ast_ari_unhold_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -696,7 +696,7 @@ static void stasis_http_unhold_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/unhold\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/unhold\n", code);
@@ -706,7 +706,7 @@ static void stasis_http_unhold_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/unhold\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/unhold\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -718,9 +718,9 @@ static void stasis_http_unhold_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_moh_start_channel_cb( static void ast_ari_moh_start_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -742,7 +742,7 @@ static void stasis_http_moh_start_channel_cb(
} else } else
{} {}
} }
stasis_http_moh_start_channel(headers, &args, response); ast_ari_moh_start_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -758,7 +758,7 @@ static void stasis_http_moh_start_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/mohstart\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/mohstart\n", code);
@@ -768,7 +768,7 @@ static void stasis_http_moh_start_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/mohstart\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/mohstart\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -780,9 +780,9 @@ static void stasis_http_moh_start_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_moh_stop_channel_cb( static void ast_ari_moh_stop_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -798,7 +798,7 @@ static void stasis_http_moh_stop_channel_cb(
} else } else
{} {}
} }
stasis_http_moh_stop_channel(headers, &args, response); ast_ari_moh_stop_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -814,7 +814,7 @@ static void stasis_http_moh_stop_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/mohstop\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/mohstop\n", code);
@@ -824,7 +824,7 @@ static void stasis_http_moh_stop_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/mohstop\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/mohstop\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -836,9 +836,9 @@ static void stasis_http_moh_stop_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_play_on_channel_cb( static void ast_ari_play_on_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -869,7 +869,7 @@ static void stasis_http_play_on_channel_cb(
} else } else
{} {}
} }
stasis_http_play_on_channel(headers, &args, response); ast_ari_play_on_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -885,7 +885,7 @@ static void stasis_http_play_on_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_playback( is_valid = ast_ari_validate_playback(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/play\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/play\n", code);
@@ -895,7 +895,7 @@ static void stasis_http_play_on_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/play\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/play\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -907,9 +907,9 @@ static void stasis_http_play_on_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_record_channel_cb( static void ast_ari_record_channel_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -949,7 +949,7 @@ static void stasis_http_record_channel_cb(
} else } else
{} {}
} }
stasis_http_record_channel(headers, &args, response); ast_ari_record_channel(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -966,7 +966,7 @@ static void stasis_http_record_channel_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_live_recording( is_valid = ast_ari_validate_live_recording(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/record\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/record\n", code);
@@ -976,7 +976,7 @@ static void stasis_http_record_channel_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/record\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/record\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -988,9 +988,9 @@ static void stasis_http_record_channel_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_channel_var_cb( static void ast_ari_get_channel_var_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -1012,7 +1012,7 @@ static void stasis_http_get_channel_var_cb(
} else } else
{} {}
} }
stasis_http_get_channel_var(headers, &args, response); ast_ari_get_channel_var(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -1028,7 +1028,7 @@ static void stasis_http_get_channel_var_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_variable( is_valid = ast_ari_validate_variable(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/variable\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/variable\n", code);
@@ -1038,7 +1038,7 @@ static void stasis_http_get_channel_var_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/variable\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/variable\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -1050,9 +1050,9 @@ static void stasis_http_get_channel_var_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_set_channel_var_cb( static void ast_ari_set_channel_var_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -1077,7 +1077,7 @@ static void stasis_http_set_channel_var_cb(
} else } else
{} {}
} }
stasis_http_set_channel_var(headers, &args, response); ast_ari_set_channel_var(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -1093,7 +1093,7 @@ static void stasis_http_set_channel_var_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/variable\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/variable\n", code);
@@ -1103,7 +1103,7 @@ static void stasis_http_set_channel_var_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/variable\n"); ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/variable\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -1113,7 +1113,7 @@ static void stasis_http_set_channel_var_cb(
static struct stasis_rest_handlers channels_channelId_dial = { static struct stasis_rest_handlers channels_channelId_dial = {
.path_segment = "dial", .path_segment = "dial",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_dial_cb, [AST_HTTP_POST] = ast_ari_dial_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1122,7 +1122,7 @@ static struct stasis_rest_handlers channels_channelId_dial = {
static struct stasis_rest_handlers channels_channelId_continue = { static struct stasis_rest_handlers channels_channelId_continue = {
.path_segment = "continue", .path_segment = "continue",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_continue_in_dialplan_cb, [AST_HTTP_POST] = ast_ari_continue_in_dialplan_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1131,7 +1131,7 @@ static struct stasis_rest_handlers channels_channelId_continue = {
static struct stasis_rest_handlers channels_channelId_answer = { static struct stasis_rest_handlers channels_channelId_answer = {
.path_segment = "answer", .path_segment = "answer",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_answer_channel_cb, [AST_HTTP_POST] = ast_ari_answer_channel_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1140,7 +1140,7 @@ static struct stasis_rest_handlers channels_channelId_answer = {
static struct stasis_rest_handlers channels_channelId_mute = { static struct stasis_rest_handlers channels_channelId_mute = {
.path_segment = "mute", .path_segment = "mute",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_mute_channel_cb, [AST_HTTP_POST] = ast_ari_mute_channel_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1149,7 +1149,7 @@ static struct stasis_rest_handlers channels_channelId_mute = {
static struct stasis_rest_handlers channels_channelId_unmute = { static struct stasis_rest_handlers channels_channelId_unmute = {
.path_segment = "unmute", .path_segment = "unmute",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_unmute_channel_cb, [AST_HTTP_POST] = ast_ari_unmute_channel_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1158,7 +1158,7 @@ static struct stasis_rest_handlers channels_channelId_unmute = {
static struct stasis_rest_handlers channels_channelId_hold = { static struct stasis_rest_handlers channels_channelId_hold = {
.path_segment = "hold", .path_segment = "hold",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_hold_channel_cb, [AST_HTTP_POST] = ast_ari_hold_channel_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1167,7 +1167,7 @@ static struct stasis_rest_handlers channels_channelId_hold = {
static struct stasis_rest_handlers channels_channelId_unhold = { static struct stasis_rest_handlers channels_channelId_unhold = {
.path_segment = "unhold", .path_segment = "unhold",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_unhold_channel_cb, [AST_HTTP_POST] = ast_ari_unhold_channel_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1176,7 +1176,7 @@ static struct stasis_rest_handlers channels_channelId_unhold = {
static struct stasis_rest_handlers channels_channelId_mohstart = { static struct stasis_rest_handlers channels_channelId_mohstart = {
.path_segment = "mohstart", .path_segment = "mohstart",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_moh_start_channel_cb, [AST_HTTP_POST] = ast_ari_moh_start_channel_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1185,7 +1185,7 @@ static struct stasis_rest_handlers channels_channelId_mohstart = {
static struct stasis_rest_handlers channels_channelId_mohstop = { static struct stasis_rest_handlers channels_channelId_mohstop = {
.path_segment = "mohstop", .path_segment = "mohstop",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_moh_stop_channel_cb, [AST_HTTP_POST] = ast_ari_moh_stop_channel_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1194,7 +1194,7 @@ static struct stasis_rest_handlers channels_channelId_mohstop = {
static struct stasis_rest_handlers channels_channelId_play = { static struct stasis_rest_handlers channels_channelId_play = {
.path_segment = "play", .path_segment = "play",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_play_on_channel_cb, [AST_HTTP_POST] = ast_ari_play_on_channel_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1203,7 +1203,7 @@ static struct stasis_rest_handlers channels_channelId_play = {
static struct stasis_rest_handlers channels_channelId_record = { static struct stasis_rest_handlers channels_channelId_record = {
.path_segment = "record", .path_segment = "record",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_record_channel_cb, [AST_HTTP_POST] = ast_ari_record_channel_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1212,8 +1212,8 @@ static struct stasis_rest_handlers channels_channelId_record = {
static struct stasis_rest_handlers channels_channelId_variable = { static struct stasis_rest_handlers channels_channelId_variable = {
.path_segment = "variable", .path_segment = "variable",
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_channel_var_cb, [AST_HTTP_GET] = ast_ari_get_channel_var_cb,
[AST_HTTP_POST] = stasis_http_set_channel_var_cb, [AST_HTTP_POST] = ast_ari_set_channel_var_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -1223,8 +1223,8 @@ static struct stasis_rest_handlers channels_channelId = {
.path_segment = "channelId", .path_segment = "channelId",
.is_wildcard = 1, .is_wildcard = 1,
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_channel_cb, [AST_HTTP_GET] = ast_ari_get_channel_cb,
[AST_HTTP_DELETE] = stasis_http_delete_channel_cb, [AST_HTTP_DELETE] = ast_ari_delete_channel_cb,
}, },
.num_children = 12, .num_children = 12,
.children = { &channels_channelId_dial,&channels_channelId_continue,&channels_channelId_answer,&channels_channelId_mute,&channels_channelId_unmute,&channels_channelId_hold,&channels_channelId_unhold,&channels_channelId_mohstart,&channels_channelId_mohstop,&channels_channelId_play,&channels_channelId_record,&channels_channelId_variable, } .children = { &channels_channelId_dial,&channels_channelId_continue,&channels_channelId_answer,&channels_channelId_mute,&channels_channelId_unmute,&channels_channelId_hold,&channels_channelId_unhold,&channels_channelId_mohstart,&channels_channelId_mohstop,&channels_channelId_play,&channels_channelId_record,&channels_channelId_variable, }
@@ -1233,8 +1233,8 @@ static struct stasis_rest_handlers channels_channelId = {
static struct stasis_rest_handlers channels = { static struct stasis_rest_handlers channels = {
.path_segment = "channels", .path_segment = "channels",
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_channels_cb, [AST_HTTP_GET] = ast_ari_get_channels_cb,
[AST_HTTP_POST] = stasis_http_originate_cb, [AST_HTTP_POST] = ast_ari_originate_cb,
}, },
.num_children = 1, .num_children = 1,
.children = { &channels_channelId, } .children = { &channels_channelId, }
@@ -1244,13 +1244,13 @@ static int load_module(void)
{ {
int res = 0; int res = 0;
stasis_app_ref(); stasis_app_ref();
res |= stasis_http_add_handler(&channels); res |= ast_ari_add_handler(&channels);
return res; return res;
} }
static int unload_module(void) static int unload_module(void)
{ {
stasis_http_remove_handler(&channels); ast_ari_remove_handler(&channels);
stasis_app_unref(); stasis_app_unref();
return 0; return 0;
} }
@@ -1258,5 +1258,5 @@ static int unload_module(void)
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Channel resources", AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Channel resources",
.load = load_module, .load = load_module,
.unload = unload_module, .unload = unload_module,
.nonoptreq = "res_stasis_http,res_stasis", .nonoptreq = "res_ari,res_stasis",
); );

View File

@@ -21,7 +21,7 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/res_stasis_http_resource.c.mustache * template in rest-api-templates/res_ari_resource.c.mustache
*/ */
/*! \file /*! \file
@@ -32,7 +32,7 @@
*/ */
/*** MODULEINFO /*** MODULEINFO
<depend type="module">res_stasis_http</depend> <depend type="module">res_ari</depend>
<depend type="module">res_stasis</depend> <depend type="module">res_stasis</depend>
<support_level>core</support_level> <support_level>core</support_level>
***/ ***/
@@ -43,9 +43,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/stasis_app.h" #include "asterisk/stasis_app.h"
#include "stasis_http/resource_endpoints.h" #include "ari/resource_endpoints.h"
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
#include "stasis_http/ari_model_validators.h" #include "ari/ari_model_validators.h"
#endif #endif
/*! /*!
@@ -55,9 +55,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_endpoints_cb( static void ast_ari_get_endpoints_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -65,7 +65,7 @@ static void stasis_http_get_endpoints_cb(
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
struct ast_get_endpoints_args args = {}; struct ast_get_endpoints_args args = {};
stasis_http_get_endpoints(headers, &args, response); ast_ari_get_endpoints(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -79,8 +79,8 @@ static void stasis_http_get_endpoints_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_list(response->message, is_valid = ast_ari_validate_list(response->message,
ari_validate_endpoint_fn()); ast_ari_validate_endpoint_fn());
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /endpoints\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /endpoints\n", code);
is_valid = 0; is_valid = 0;
@@ -89,7 +89,7 @@ static void stasis_http_get_endpoints_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /endpoints\n"); ast_log(LOG_ERROR, "Response validation failed for /endpoints\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -101,9 +101,9 @@ static void stasis_http_get_endpoints_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_endpoints_by_tech_cb( static void ast_ari_get_endpoints_by_tech_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -119,7 +119,7 @@ static void stasis_http_get_endpoints_by_tech_cb(
} else } else
{} {}
} }
stasis_http_get_endpoints_by_tech(headers, &args, response); ast_ari_get_endpoints_by_tech(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -133,8 +133,8 @@ static void stasis_http_get_endpoints_by_tech_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_list(response->message, is_valid = ast_ari_validate_list(response->message,
ari_validate_endpoint_fn()); ast_ari_validate_endpoint_fn());
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /endpoints/{tech}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /endpoints/{tech}\n", code);
is_valid = 0; is_valid = 0;
@@ -143,7 +143,7 @@ static void stasis_http_get_endpoints_by_tech_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /endpoints/{tech}\n"); ast_log(LOG_ERROR, "Response validation failed for /endpoints/{tech}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -155,9 +155,9 @@ static void stasis_http_get_endpoints_by_tech_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_endpoint_cb( static void ast_ari_get_endpoint_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -176,7 +176,7 @@ static void stasis_http_get_endpoint_cb(
} else } else
{} {}
} }
stasis_http_get_endpoint(headers, &args, response); ast_ari_get_endpoint(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -190,7 +190,7 @@ static void stasis_http_get_endpoint_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_endpoint( is_valid = ast_ari_validate_endpoint(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /endpoints/{tech}/{resource}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /endpoints/{tech}/{resource}\n", code);
@@ -200,7 +200,7 @@ static void stasis_http_get_endpoint_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /endpoints/{tech}/{resource}\n"); ast_log(LOG_ERROR, "Response validation failed for /endpoints/{tech}/{resource}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -211,7 +211,7 @@ static struct stasis_rest_handlers endpoints_tech_resource = {
.path_segment = "resource", .path_segment = "resource",
.is_wildcard = 1, .is_wildcard = 1,
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_endpoint_cb, [AST_HTTP_GET] = ast_ari_get_endpoint_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -221,7 +221,7 @@ static struct stasis_rest_handlers endpoints_tech = {
.path_segment = "tech", .path_segment = "tech",
.is_wildcard = 1, .is_wildcard = 1,
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_endpoints_by_tech_cb, [AST_HTTP_GET] = ast_ari_get_endpoints_by_tech_cb,
}, },
.num_children = 1, .num_children = 1,
.children = { &endpoints_tech_resource, } .children = { &endpoints_tech_resource, }
@@ -230,7 +230,7 @@ static struct stasis_rest_handlers endpoints_tech = {
static struct stasis_rest_handlers endpoints = { static struct stasis_rest_handlers endpoints = {
.path_segment = "endpoints", .path_segment = "endpoints",
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_endpoints_cb, [AST_HTTP_GET] = ast_ari_get_endpoints_cb,
}, },
.num_children = 1, .num_children = 1,
.children = { &endpoints_tech, } .children = { &endpoints_tech, }
@@ -240,13 +240,13 @@ static int load_module(void)
{ {
int res = 0; int res = 0;
stasis_app_ref(); stasis_app_ref();
res |= stasis_http_add_handler(&endpoints); res |= ast_ari_add_handler(&endpoints);
return res; return res;
} }
static int unload_module(void) static int unload_module(void)
{ {
stasis_http_remove_handler(&endpoints); ast_ari_remove_handler(&endpoints);
stasis_app_unref(); stasis_app_unref();
return 0; return 0;
} }
@@ -254,5 +254,5 @@ static int unload_module(void)
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Endpoint resources", AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Endpoint resources",
.load = load_module, .load = load_module,
.unload = unload_module, .unload = unload_module,
.nonoptreq = "res_stasis_http,res_stasis", .nonoptreq = "res_ari,res_stasis",
); );

View File

@@ -21,7 +21,7 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/res_stasis_http_resource.c.mustache * template in rest-api-templates/res_ari_resource.c.mustache
*/ */
/*! \file /*! \file
@@ -32,7 +32,7 @@
*/ */
/*** MODULEINFO /*** MODULEINFO
<depend type="module">res_stasis_http</depend> <depend type="module">res_ari</depend>
<depend type="module">res_stasis</depend> <depend type="module">res_stasis</depend>
<support_level>core</support_level> <support_level>core</support_level>
***/ ***/
@@ -43,16 +43,16 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/stasis_app.h" #include "asterisk/stasis_app.h"
#include "stasis_http/resource_events.h" #include "ari/resource_events.h"
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
#include "stasis_http/ari_model_validators.h" #include "ari/ari_model_validators.h"
#endif #endif
static void stasis_http_event_websocket_ws_cb(struct ast_websocket *ws_session, static void ast_ari_event_websocket_ws_cb(struct ast_websocket *ws_session,
struct ast_variable *get_params, struct ast_variable *headers) struct ast_variable *get_params, struct ast_variable *headers)
{ {
RAII_VAR(struct ast_websocket *, s, ws_session, ast_websocket_unref); RAII_VAR(struct ast_websocket *, s, ws_session, ast_websocket_unref);
RAII_VAR(struct ari_websocket_session *, session, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_websocket_session *, session, NULL, ao2_cleanup);
struct ast_event_websocket_args args = {}; struct ast_event_websocket_args args = {};
struct ast_variable *i; struct ast_variable *i;
@@ -63,16 +63,16 @@ static void stasis_http_event_websocket_ws_cb(struct ast_websocket *ws_session,
{} {}
} }
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
session = ari_websocket_session_create(ws_session, session = ast_ari_websocket_session_create(ws_session,
ari_validate_message_fn()); ast_ari_validate_message_fn());
#else #else
session = ari_websocket_session_create(ws_session, NULL); session = ast_ari_websocket_session_create(ws_session, NULL);
#endif #endif
if (!session) { if (!session) {
ast_log(LOG_ERROR, "Failed to create ARI session\n"); ast_log(LOG_ERROR, "Failed to create ARI session\n");
return; return;
} }
ari_websocket_event_websocket(session, headers, &args); ast_ari_websocket_event_websocket(session, headers, &args);
} }
/*! \brief REST handler for /api-docs/events.{format} */ /*! \brief REST handler for /api-docs/events.{format} */
@@ -92,15 +92,15 @@ static int load_module(void)
return AST_MODULE_LOAD_FAILURE; return AST_MODULE_LOAD_FAILURE;
} }
res |= ast_websocket_server_add_protocol(events.ws_server, res |= ast_websocket_server_add_protocol(events.ws_server,
"ari", stasis_http_event_websocket_ws_cb); "ari", ast_ari_event_websocket_ws_cb);
stasis_app_ref(); stasis_app_ref();
res |= stasis_http_add_handler(&events); res |= ast_ari_add_handler(&events);
return res; return res;
} }
static int unload_module(void) static int unload_module(void)
{ {
stasis_http_remove_handler(&events); ast_ari_remove_handler(&events);
ao2_cleanup(events.ws_server); ao2_cleanup(events.ws_server);
events.ws_server = NULL; events.ws_server = NULL;
stasis_app_unref(); stasis_app_unref();
@@ -110,5 +110,5 @@ static int unload_module(void)
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - WebSocket resource", AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - WebSocket resource",
.load = load_module, .load = load_module,
.unload = unload_module, .unload = unload_module,
.nonoptreq = "res_stasis_http,res_stasis", .nonoptreq = "res_ari,res_stasis",
); );

View File

@@ -31,7 +31,7 @@
ASTERISK_FILE_VERSION(__FILE__, "$Revision$") ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "stasis_http/ari_model_validators.h" #include "ari/ari_model_validators.h"
#include "asterisk/logger.h" #include "asterisk/logger.h"
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/utils.h" #include "asterisk/utils.h"
@@ -90,18 +90,18 @@ static int check_range(intmax_t minval, intmax_t maxval, struct ast_json *json)
return 1; return 1;
} }
int ari_validate_void(struct ast_json *json) int ast_ari_validate_void(struct ast_json *json)
{ {
return check_type(json, AST_JSON_NULL); return check_type(json, AST_JSON_NULL);
} }
int ari_validate_byte(struct ast_json *json) int ast_ari_validate_byte(struct ast_json *json)
{ {
/* Java bytes are signed, which accounts for great fun for all */ /* Java bytes are signed, which accounts for great fun for all */
return check_range(-128, 255, json); return check_range(-128, 255, json);
} }
int ari_validate_boolean(struct ast_json *json) int ast_ari_validate_boolean(struct ast_json *json)
{ {
enum ast_json_type actual = ast_json_typeof(json); enum ast_json_type actual = ast_json_typeof(json);
switch (actual) { switch (actual) {
@@ -115,34 +115,34 @@ int ari_validate_boolean(struct ast_json *json)
} }
} }
int ari_validate_int(struct ast_json *json) int ast_ari_validate_int(struct ast_json *json)
{ {
/* Swagger int's are 32-bit */ /* Swagger int's are 32-bit */
return check_range(-2147483648LL, 2147483647LL, json); return check_range(-2147483648LL, 2147483647LL, json);
} }
int ari_validate_long(struct ast_json *json) int ast_ari_validate_long(struct ast_json *json)
{ {
/* All integral values are valid longs. No need for range check. */ /* All integral values are valid longs. No need for range check. */
return check_type(json, AST_JSON_INTEGER); return check_type(json, AST_JSON_INTEGER);
} }
int ari_validate_float(struct ast_json *json) int ast_ari_validate_float(struct ast_json *json)
{ {
return check_type(json, AST_JSON_REAL); return check_type(json, AST_JSON_REAL);
} }
int ari_validate_double(struct ast_json *json) int ast_ari_validate_double(struct ast_json *json)
{ {
return check_type(json, AST_JSON_REAL); return check_type(json, AST_JSON_REAL);
} }
int ari_validate_string(struct ast_json *json) int ast_ari_validate_string(struct ast_json *json)
{ {
return check_type(json, AST_JSON_STRING); return check_type(json, AST_JSON_STRING);
} }
int ari_validate_date(struct ast_json *json) int ast_ari_validate_date(struct ast_json *json)
{ {
/* Dates are ISO-8601 strings */ /* Dates are ISO-8601 strings */
const char *str; const char *str;
@@ -158,7 +158,7 @@ int ari_validate_date(struct ast_json *json)
return 1; return 1;
} }
int ari_validate_list(struct ast_json *json, int (*fn)(struct ast_json *)) int ast_ari_validate_list(struct ast_json *json, int (*fn)(struct ast_json *))
{ {
int res = 1; int res = 1;
size_t i; size_t i;

View File

@@ -1,6 +1,6 @@
{ {
global: global:
LINKER_SYMBOL_PREFIXari_*; LINKER_SYMBOL_PREFIXast_ari_*;
local: local:
*; *;
}; };

View File

@@ -21,7 +21,7 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/res_stasis_http_resource.c.mustache * template in rest-api-templates/res_ari_resource.c.mustache
*/ */
/*! \file /*! \file
@@ -32,7 +32,7 @@
*/ */
/*** MODULEINFO /*** MODULEINFO
<depend type="module">res_stasis_http</depend> <depend type="module">res_ari</depend>
<depend type="module">res_stasis</depend> <depend type="module">res_stasis</depend>
<support_level>core</support_level> <support_level>core</support_level>
***/ ***/
@@ -43,9 +43,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/stasis_app.h" #include "asterisk/stasis_app.h"
#include "stasis_http/resource_playback.h" #include "ari/resource_playback.h"
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
#include "stasis_http/ari_model_validators.h" #include "ari/ari_model_validators.h"
#endif #endif
/*! /*!
@@ -55,9 +55,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_playback_cb( static void ast_ari_get_playback_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -73,7 +73,7 @@ static void stasis_http_get_playback_cb(
} else } else
{} {}
} }
stasis_http_get_playback(headers, &args, response); ast_ari_get_playback(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -87,7 +87,7 @@ static void stasis_http_get_playback_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_playback( is_valid = ast_ari_validate_playback(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /playback/{playbackId}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /playback/{playbackId}\n", code);
@@ -97,7 +97,7 @@ static void stasis_http_get_playback_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /playback/{playbackId}\n"); ast_log(LOG_ERROR, "Response validation failed for /playback/{playbackId}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -109,9 +109,9 @@ static void stasis_http_get_playback_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_stop_playback_cb( static void ast_ari_stop_playback_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -127,7 +127,7 @@ static void stasis_http_stop_playback_cb(
} else } else
{} {}
} }
stasis_http_stop_playback(headers, &args, response); ast_ari_stop_playback(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -141,7 +141,7 @@ static void stasis_http_stop_playback_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_playback( is_valid = ast_ari_validate_playback(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /playback/{playbackId}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /playback/{playbackId}\n", code);
@@ -151,7 +151,7 @@ static void stasis_http_stop_playback_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /playback/{playbackId}\n"); ast_log(LOG_ERROR, "Response validation failed for /playback/{playbackId}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -163,9 +163,9 @@ static void stasis_http_stop_playback_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_control_playback_cb( static void ast_ari_control_playback_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -187,7 +187,7 @@ static void stasis_http_control_playback_cb(
} else } else
{} {}
} }
stasis_http_control_playback(headers, &args, response); ast_ari_control_playback(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -204,7 +204,7 @@ static void stasis_http_control_playback_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /playback/{playbackId}/control\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /playback/{playbackId}/control\n", code);
@@ -214,7 +214,7 @@ static void stasis_http_control_playback_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /playback/{playbackId}/control\n"); ast_log(LOG_ERROR, "Response validation failed for /playback/{playbackId}/control\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -224,7 +224,7 @@ static void stasis_http_control_playback_cb(
static struct stasis_rest_handlers playback_playbackId_control = { static struct stasis_rest_handlers playback_playbackId_control = {
.path_segment = "control", .path_segment = "control",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_control_playback_cb, [AST_HTTP_POST] = ast_ari_control_playback_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -234,8 +234,8 @@ static struct stasis_rest_handlers playback_playbackId = {
.path_segment = "playbackId", .path_segment = "playbackId",
.is_wildcard = 1, .is_wildcard = 1,
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_playback_cb, [AST_HTTP_GET] = ast_ari_get_playback_cb,
[AST_HTTP_DELETE] = stasis_http_stop_playback_cb, [AST_HTTP_DELETE] = ast_ari_stop_playback_cb,
}, },
.num_children = 1, .num_children = 1,
.children = { &playback_playbackId_control, } .children = { &playback_playbackId_control, }
@@ -253,13 +253,13 @@ static int load_module(void)
{ {
int res = 0; int res = 0;
stasis_app_ref(); stasis_app_ref();
res |= stasis_http_add_handler(&playback); res |= ast_ari_add_handler(&playback);
return res; return res;
} }
static int unload_module(void) static int unload_module(void)
{ {
stasis_http_remove_handler(&playback); ast_ari_remove_handler(&playback);
stasis_app_unref(); stasis_app_unref();
return 0; return 0;
} }
@@ -267,5 +267,5 @@ static int unload_module(void)
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Playback control resources", AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Playback control resources",
.load = load_module, .load = load_module,
.unload = unload_module, .unload = unload_module,
.nonoptreq = "res_stasis_http,res_stasis", .nonoptreq = "res_ari,res_stasis",
); );

View File

@@ -21,7 +21,7 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/res_stasis_http_resource.c.mustache * template in rest-api-templates/res_ari_resource.c.mustache
*/ */
/*! \file /*! \file
@@ -32,7 +32,7 @@
*/ */
/*** MODULEINFO /*** MODULEINFO
<depend type="module">res_stasis_http</depend> <depend type="module">res_ari</depend>
<depend type="module">res_stasis</depend> <depend type="module">res_stasis</depend>
<support_level>core</support_level> <support_level>core</support_level>
***/ ***/
@@ -43,9 +43,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/stasis_app.h" #include "asterisk/stasis_app.h"
#include "stasis_http/resource_recordings.h" #include "ari/resource_recordings.h"
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
#include "stasis_http/ari_model_validators.h" #include "ari/ari_model_validators.h"
#endif #endif
/*! /*!
@@ -55,9 +55,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_stored_recordings_cb( static void ast_ari_get_stored_recordings_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -65,7 +65,7 @@ static void stasis_http_get_stored_recordings_cb(
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
struct ast_get_stored_recordings_args args = {}; struct ast_get_stored_recordings_args args = {};
stasis_http_get_stored_recordings(headers, &args, response); ast_ari_get_stored_recordings(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -79,8 +79,8 @@ static void stasis_http_get_stored_recordings_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_list(response->message, is_valid = ast_ari_validate_list(response->message,
ari_validate_stored_recording_fn()); ast_ari_validate_stored_recording_fn());
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored\n", code);
is_valid = 0; is_valid = 0;
@@ -89,7 +89,7 @@ static void stasis_http_get_stored_recordings_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/stored\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/stored\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -101,9 +101,9 @@ static void stasis_http_get_stored_recordings_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_stored_recording_cb( static void ast_ari_get_stored_recording_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -119,7 +119,7 @@ static void stasis_http_get_stored_recording_cb(
} else } else
{} {}
} }
stasis_http_get_stored_recording(headers, &args, response); ast_ari_get_stored_recording(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -133,7 +133,7 @@ static void stasis_http_get_stored_recording_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_stored_recording( is_valid = ast_ari_validate_stored_recording(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored/{recordingName}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored/{recordingName}\n", code);
@@ -143,7 +143,7 @@ static void stasis_http_get_stored_recording_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/stored/{recordingName}\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/stored/{recordingName}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -155,9 +155,9 @@ static void stasis_http_get_stored_recording_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_delete_stored_recording_cb( static void ast_ari_delete_stored_recording_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -173,7 +173,7 @@ static void stasis_http_delete_stored_recording_cb(
} else } else
{} {}
} }
stasis_http_delete_stored_recording(headers, &args, response); ast_ari_delete_stored_recording(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -187,7 +187,7 @@ static void stasis_http_delete_stored_recording_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored/{recordingName}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/stored/{recordingName}\n", code);
@@ -197,7 +197,7 @@ static void stasis_http_delete_stored_recording_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/stored/{recordingName}\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/stored/{recordingName}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -209,9 +209,9 @@ static void stasis_http_delete_stored_recording_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_live_recordings_cb( static void ast_ari_get_live_recordings_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -219,7 +219,7 @@ static void stasis_http_get_live_recordings_cb(
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
struct ast_get_live_recordings_args args = {}; struct ast_get_live_recordings_args args = {};
stasis_http_get_live_recordings(headers, &args, response); ast_ari_get_live_recordings(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -233,8 +233,8 @@ static void stasis_http_get_live_recordings_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_list(response->message, is_valid = ast_ari_validate_list(response->message,
ari_validate_live_recording_fn()); ast_ari_validate_live_recording_fn());
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live\n", code);
is_valid = 0; is_valid = 0;
@@ -243,7 +243,7 @@ static void stasis_http_get_live_recordings_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/live\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/live\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -255,9 +255,9 @@ static void stasis_http_get_live_recordings_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_live_recording_cb( static void ast_ari_get_live_recording_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -273,7 +273,7 @@ static void stasis_http_get_live_recording_cb(
} else } else
{} {}
} }
stasis_http_get_live_recording(headers, &args, response); ast_ari_get_live_recording(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -287,7 +287,7 @@ static void stasis_http_get_live_recording_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_live_recording( is_valid = ast_ari_validate_live_recording(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}\n", code);
@@ -297,7 +297,7 @@ static void stasis_http_get_live_recording_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -309,9 +309,9 @@ static void stasis_http_get_live_recording_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_cancel_recording_cb( static void ast_ari_cancel_recording_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -327,7 +327,7 @@ static void stasis_http_cancel_recording_cb(
} else } else
{} {}
} }
stasis_http_cancel_recording(headers, &args, response); ast_ari_cancel_recording(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -341,7 +341,7 @@ static void stasis_http_cancel_recording_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}\n", code);
@@ -351,7 +351,7 @@ static void stasis_http_cancel_recording_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -363,9 +363,9 @@ static void stasis_http_cancel_recording_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_stop_recording_cb( static void ast_ari_stop_recording_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -381,7 +381,7 @@ static void stasis_http_stop_recording_cb(
} else } else
{} {}
} }
stasis_http_stop_recording(headers, &args, response); ast_ari_stop_recording(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -395,7 +395,7 @@ static void stasis_http_stop_recording_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/stop\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/stop\n", code);
@@ -405,7 +405,7 @@ static void stasis_http_stop_recording_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/stop\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/stop\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -417,9 +417,9 @@ static void stasis_http_stop_recording_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_pause_recording_cb( static void ast_ari_pause_recording_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -435,7 +435,7 @@ static void stasis_http_pause_recording_cb(
} else } else
{} {}
} }
stasis_http_pause_recording(headers, &args, response); ast_ari_pause_recording(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -449,7 +449,7 @@ static void stasis_http_pause_recording_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/pause\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/pause\n", code);
@@ -459,7 +459,7 @@ static void stasis_http_pause_recording_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/pause\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/pause\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -471,9 +471,9 @@ static void stasis_http_pause_recording_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_unpause_recording_cb( static void ast_ari_unpause_recording_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -489,7 +489,7 @@ static void stasis_http_unpause_recording_cb(
} else } else
{} {}
} }
stasis_http_unpause_recording(headers, &args, response); ast_ari_unpause_recording(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -503,7 +503,7 @@ static void stasis_http_unpause_recording_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/unpause\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/unpause\n", code);
@@ -513,7 +513,7 @@ static void stasis_http_unpause_recording_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/unpause\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/unpause\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -525,9 +525,9 @@ static void stasis_http_unpause_recording_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_mute_recording_cb( static void ast_ari_mute_recording_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -543,7 +543,7 @@ static void stasis_http_mute_recording_cb(
} else } else
{} {}
} }
stasis_http_mute_recording(headers, &args, response); ast_ari_mute_recording(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -557,7 +557,7 @@ static void stasis_http_mute_recording_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/mute\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/mute\n", code);
@@ -567,7 +567,7 @@ static void stasis_http_mute_recording_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/mute\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/mute\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -579,9 +579,9 @@ static void stasis_http_mute_recording_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_unmute_recording_cb( static void ast_ari_unmute_recording_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -597,7 +597,7 @@ static void stasis_http_unmute_recording_cb(
} else } else
{} {}
} }
stasis_http_unmute_recording(headers, &args, response); ast_ari_unmute_recording(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -611,7 +611,7 @@ static void stasis_http_unmute_recording_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_void( is_valid = ast_ari_validate_void(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/unmute\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /recordings/live/{recordingName}/unmute\n", code);
@@ -621,7 +621,7 @@ static void stasis_http_unmute_recording_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/unmute\n"); ast_log(LOG_ERROR, "Response validation failed for /recordings/live/{recordingName}/unmute\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -632,8 +632,8 @@ static struct stasis_rest_handlers recordings_stored_recordingName = {
.path_segment = "recordingName", .path_segment = "recordingName",
.is_wildcard = 1, .is_wildcard = 1,
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_stored_recording_cb, [AST_HTTP_GET] = ast_ari_get_stored_recording_cb,
[AST_HTTP_DELETE] = stasis_http_delete_stored_recording_cb, [AST_HTTP_DELETE] = ast_ari_delete_stored_recording_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -642,7 +642,7 @@ static struct stasis_rest_handlers recordings_stored_recordingName = {
static struct stasis_rest_handlers recordings_stored = { static struct stasis_rest_handlers recordings_stored = {
.path_segment = "stored", .path_segment = "stored",
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_stored_recordings_cb, [AST_HTTP_GET] = ast_ari_get_stored_recordings_cb,
}, },
.num_children = 1, .num_children = 1,
.children = { &recordings_stored_recordingName, } .children = { &recordings_stored_recordingName, }
@@ -651,7 +651,7 @@ static struct stasis_rest_handlers recordings_stored = {
static struct stasis_rest_handlers recordings_live_recordingName_stop = { static struct stasis_rest_handlers recordings_live_recordingName_stop = {
.path_segment = "stop", .path_segment = "stop",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_stop_recording_cb, [AST_HTTP_POST] = ast_ari_stop_recording_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -660,7 +660,7 @@ static struct stasis_rest_handlers recordings_live_recordingName_stop = {
static struct stasis_rest_handlers recordings_live_recordingName_pause = { static struct stasis_rest_handlers recordings_live_recordingName_pause = {
.path_segment = "pause", .path_segment = "pause",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_pause_recording_cb, [AST_HTTP_POST] = ast_ari_pause_recording_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -669,7 +669,7 @@ static struct stasis_rest_handlers recordings_live_recordingName_pause = {
static struct stasis_rest_handlers recordings_live_recordingName_unpause = { static struct stasis_rest_handlers recordings_live_recordingName_unpause = {
.path_segment = "unpause", .path_segment = "unpause",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_unpause_recording_cb, [AST_HTTP_POST] = ast_ari_unpause_recording_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -678,7 +678,7 @@ static struct stasis_rest_handlers recordings_live_recordingName_unpause = {
static struct stasis_rest_handlers recordings_live_recordingName_mute = { static struct stasis_rest_handlers recordings_live_recordingName_mute = {
.path_segment = "mute", .path_segment = "mute",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_mute_recording_cb, [AST_HTTP_POST] = ast_ari_mute_recording_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -687,7 +687,7 @@ static struct stasis_rest_handlers recordings_live_recordingName_mute = {
static struct stasis_rest_handlers recordings_live_recordingName_unmute = { static struct stasis_rest_handlers recordings_live_recordingName_unmute = {
.path_segment = "unmute", .path_segment = "unmute",
.callbacks = { .callbacks = {
[AST_HTTP_POST] = stasis_http_unmute_recording_cb, [AST_HTTP_POST] = ast_ari_unmute_recording_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -697,8 +697,8 @@ static struct stasis_rest_handlers recordings_live_recordingName = {
.path_segment = "recordingName", .path_segment = "recordingName",
.is_wildcard = 1, .is_wildcard = 1,
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_live_recording_cb, [AST_HTTP_GET] = ast_ari_get_live_recording_cb,
[AST_HTTP_DELETE] = stasis_http_cancel_recording_cb, [AST_HTTP_DELETE] = ast_ari_cancel_recording_cb,
}, },
.num_children = 5, .num_children = 5,
.children = { &recordings_live_recordingName_stop,&recordings_live_recordingName_pause,&recordings_live_recordingName_unpause,&recordings_live_recordingName_mute,&recordings_live_recordingName_unmute, } .children = { &recordings_live_recordingName_stop,&recordings_live_recordingName_pause,&recordings_live_recordingName_unpause,&recordings_live_recordingName_mute,&recordings_live_recordingName_unmute, }
@@ -707,7 +707,7 @@ static struct stasis_rest_handlers recordings_live_recordingName = {
static struct stasis_rest_handlers recordings_live = { static struct stasis_rest_handlers recordings_live = {
.path_segment = "live", .path_segment = "live",
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_live_recordings_cb, [AST_HTTP_GET] = ast_ari_get_live_recordings_cb,
}, },
.num_children = 1, .num_children = 1,
.children = { &recordings_live_recordingName, } .children = { &recordings_live_recordingName, }
@@ -725,13 +725,13 @@ static int load_module(void)
{ {
int res = 0; int res = 0;
stasis_app_ref(); stasis_app_ref();
res |= stasis_http_add_handler(&recordings); res |= ast_ari_add_handler(&recordings);
return res; return res;
} }
static int unload_module(void) static int unload_module(void)
{ {
stasis_http_remove_handler(&recordings); ast_ari_remove_handler(&recordings);
stasis_app_unref(); stasis_app_unref();
return 0; return 0;
} }
@@ -739,5 +739,5 @@ static int unload_module(void)
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Recording resources", AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Recording resources",
.load = load_module, .load = load_module,
.unload = unload_module, .unload = unload_module,
.nonoptreq = "res_stasis_http,res_stasis", .nonoptreq = "res_ari,res_stasis",
); );

View File

@@ -21,7 +21,7 @@
* !!!!! DO NOT EDIT !!!!! * !!!!! DO NOT EDIT !!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/res_stasis_http_resource.c.mustache * template in rest-api-templates/res_ari_resource.c.mustache
*/ */
/*! \file /*! \file
@@ -32,7 +32,7 @@
*/ */
/*** MODULEINFO /*** MODULEINFO
<depend type="module">res_stasis_http</depend> <depend type="module">res_ari</depend>
<depend type="module">res_stasis</depend> <depend type="module">res_stasis</depend>
<support_level>core</support_level> <support_level>core</support_level>
***/ ***/
@@ -43,9 +43,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/stasis_app.h" #include "asterisk/stasis_app.h"
#include "stasis_http/resource_sounds.h" #include "ari/resource_sounds.h"
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
#include "stasis_http/ari_model_validators.h" #include "ari/ari_model_validators.h"
#endif #endif
/*! /*!
@@ -55,9 +55,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_sounds_cb( static void ast_ari_get_sounds_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -76,7 +76,7 @@ static void stasis_http_get_sounds_cb(
} else } else
{} {}
} }
stasis_http_get_sounds(headers, &args, response); ast_ari_get_sounds(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -90,8 +90,8 @@ static void stasis_http_get_sounds_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_list(response->message, is_valid = ast_ari_validate_list(response->message,
ari_validate_sound_fn()); ast_ari_validate_sound_fn());
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /sounds\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /sounds\n", code);
is_valid = 0; is_valid = 0;
@@ -100,7 +100,7 @@ static void stasis_http_get_sounds_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /sounds\n"); ast_log(LOG_ERROR, "Response validation failed for /sounds\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -112,9 +112,9 @@ static void stasis_http_get_sounds_cb(
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_get_stored_sound_cb( static void ast_ari_get_stored_sound_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -130,7 +130,7 @@ static void stasis_http_get_stored_sound_cb(
} else } else
{} {}
} }
stasis_http_get_stored_sound(headers, &args, response); ast_ari_get_stored_sound(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -144,7 +144,7 @@ static void stasis_http_get_stored_sound_cb(
break; break;
default: default:
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
is_valid = ari_validate_sound( is_valid = ast_ari_validate_sound(
response->message); response->message);
} else { } else {
ast_log(LOG_ERROR, "Invalid error response %d for /sounds/{soundId}\n", code); ast_log(LOG_ERROR, "Invalid error response %d for /sounds/{soundId}\n", code);
@@ -154,7 +154,7 @@ static void stasis_http_get_stored_sound_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for /sounds/{soundId}\n"); ast_log(LOG_ERROR, "Response validation failed for /sounds/{soundId}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
@@ -165,7 +165,7 @@ static struct stasis_rest_handlers sounds_soundId = {
.path_segment = "soundId", .path_segment = "soundId",
.is_wildcard = 1, .is_wildcard = 1,
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_stored_sound_cb, [AST_HTTP_GET] = ast_ari_get_stored_sound_cb,
}, },
.num_children = 0, .num_children = 0,
.children = { } .children = { }
@@ -174,7 +174,7 @@ static struct stasis_rest_handlers sounds_soundId = {
static struct stasis_rest_handlers sounds = { static struct stasis_rest_handlers sounds = {
.path_segment = "sounds", .path_segment = "sounds",
.callbacks = { .callbacks = {
[AST_HTTP_GET] = stasis_http_get_sounds_cb, [AST_HTTP_GET] = ast_ari_get_sounds_cb,
}, },
.num_children = 1, .num_children = 1,
.children = { &sounds_soundId, } .children = { &sounds_soundId, }
@@ -184,13 +184,13 @@ static int load_module(void)
{ {
int res = 0; int res = 0;
stasis_app_ref(); stasis_app_ref();
res |= stasis_http_add_handler(&sounds); res |= ast_ari_add_handler(&sounds);
return res; return res;
} }
static int unload_module(void) static int unload_module(void)
{ {
stasis_http_remove_handler(&sounds); ast_ari_remove_handler(&sounds);
stasis_app_unref(); stasis_app_unref();
return 0; return 0;
} }
@@ -198,5 +198,5 @@ static int unload_module(void)
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Sound resources", AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - Sound resources",
.load = load_module, .load = load_module,
.unload = unload_module, .unload = unload_module,
.nonoptreq = "res_stasis_http,res_stasis", .nonoptreq = "res_ari,res_stasis",
); );

View File

@@ -1,7 +0,0 @@
{
global:
LINKER_SYMBOL_PREFIXstasis_http_*;
LINKER_SYMBOL_PREFIXari_*;
local:
*;
};

View File

@@ -34,7 +34,7 @@
<configObject name="global"> <configObject name="global">
<synopsis>Global configuration settings</synopsis> <synopsis>Global configuration settings</synopsis>
<configOption name="enabled"> <configOption name="enabled">
<synopsis>Enable/disable the stasis-http module</synopsis> <synopsis>Enable/disable the statsd module</synopsis>
</configOption> </configOption>
<configOption name="server"> <configOption name="server">
<synopsis>Address of the statsd server</synopsis> <synopsis>Address of the statsd server</synopsis>
@@ -161,7 +161,7 @@ void AST_OPTIONAL_API_NAME(ast_statsd_log_sample)(const char *metric_name,
sample_rate); sample_rate);
} }
/*! \brief Mapping of the stasis http conf struct's globals to the /*! \brief Mapping of the statsd conf struct's globals to the
* general context in the config file. */ * general context in the config file. */
static struct aco_type global_option = { static struct aco_type global_option = {
.type = ACO_GLOBAL, .type = ACO_GLOBAL,
@@ -173,7 +173,7 @@ static struct aco_type global_option = {
static struct aco_type *global_options[] = ACO_TYPES(&global_option); static struct aco_type *global_options[] = ACO_TYPES(&global_option);
/*! \brief Disposes of the stasis http conf object */ /*! \brief Disposes of the statsd conf object */
static void conf_destructor(void *obj) static void conf_destructor(void *obj)
{ {
struct conf *cfg = obj; struct conf *cfg = obj;

View File

@@ -1,51 +0,0 @@
#
# Asterisk -- A telephony toolkit for Linux.
#
# Generated Makefile for res_stasis_http dependencies.
#
# Copyright (C) 2013, Digium, Inc.
#
# This program is free software, distributed under the terms of
# the GNU General Public License
#
#
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# !!!!! DO NOT EDIT !!!!!
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# This file is generated by a template. Please see the original template at
# rest-api-templates/stasis_http.make.mustache
#
res_stasis_http_asterisk.so: stasis_http/resource_asterisk.o
stasis_http/resource_asterisk.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_stasis_http_asterisk)
res_stasis_http_endpoints.so: stasis_http/resource_endpoints.o
stasis_http/resource_endpoints.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_stasis_http_endpoints)
res_stasis_http_channels.so: stasis_http/resource_channels.o
stasis_http/resource_channels.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_stasis_http_channels)
res_stasis_http_bridges.so: stasis_http/resource_bridges.o
stasis_http/resource_bridges.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_stasis_http_bridges)
res_stasis_http_recordings.so: stasis_http/resource_recordings.o
stasis_http/resource_recordings.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_stasis_http_recordings)
res_stasis_http_sounds.so: stasis_http/resource_sounds.o
stasis_http/resource_sounds.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_stasis_http_sounds)
res_stasis_http_playback.so: stasis_http/resource_playback.o
stasis_http/resource_playback.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_stasis_http_playback)
res_stasis_http_events.so: stasis_http/resource_events.o
stasis_http/resource_events.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_stasis_http_events)

View File

@@ -1,97 +0,0 @@
/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2012 - 2013, Digium, Inc.
*
* David M. Lee, II <dlee@digium.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
/*! \file
*
* \brief /api-docs/recordings.{format} implementation- Recording resources
*
* \author David M. Lee, II <dlee@digium.com>
*/
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/stasis_app_recording.h"
#include "resource_recordings.h"
void stasis_http_get_stored_recordings(struct ast_variable *headers, struct ast_get_stored_recordings_args *args, struct stasis_http_response *response)
{
ast_log(LOG_ERROR, "TODO: stasis_http_get_stored_recordings\n");
}
void stasis_http_get_stored_recording(struct ast_variable *headers, struct ast_get_stored_recording_args *args, struct stasis_http_response *response)
{
ast_log(LOG_ERROR, "TODO: stasis_http_get_stored_recording\n");
}
void stasis_http_delete_stored_recording(struct ast_variable *headers, struct ast_delete_stored_recording_args *args, struct stasis_http_response *response)
{
ast_log(LOG_ERROR, "TODO: stasis_http_delete_stored_recording\n");
}
void stasis_http_get_live_recordings(struct ast_variable *headers, struct ast_get_live_recordings_args *args, struct stasis_http_response *response)
{
ast_log(LOG_ERROR, "TODO: stasis_http_get_live_recordings\n");
}
void stasis_http_get_live_recording(struct ast_variable *headers,
struct ast_get_live_recording_args *args,
struct stasis_http_response *response)
{
RAII_VAR(struct stasis_app_recording *, recording, NULL, ao2_cleanup);
RAII_VAR(struct ast_json *, json, NULL, ast_json_unref);
recording = stasis_app_recording_find_by_name(args->recording_name);
if (recording == NULL) {
stasis_http_response_error(response, 404, "Not Found",
"Recording not found");
return;
}
json = stasis_app_recording_to_json(recording);
if (json == NULL) {
stasis_http_response_error(response, 500,
"Internal Server Error", "Error building response");
return;
}
stasis_http_response_ok(response, ast_json_ref(json));
}
void stasis_http_cancel_recording(struct ast_variable *headers, struct ast_cancel_recording_args *args, struct stasis_http_response *response)
{
ast_log(LOG_ERROR, "TODO: stasis_http_cancel_recording\n");
}
void stasis_http_stop_recording(struct ast_variable *headers, struct ast_stop_recording_args *args, struct stasis_http_response *response)
{
ast_log(LOG_ERROR, "TODO: stasis_http_stop_recording\n");
}
void stasis_http_pause_recording(struct ast_variable *headers, struct ast_pause_recording_args *args, struct stasis_http_response *response)
{
ast_log(LOG_ERROR, "TODO: stasis_http_pause_recording\n");
}
void stasis_http_unpause_recording(struct ast_variable *headers, struct ast_unpause_recording_args *args, struct stasis_http_response *response)
{
ast_log(LOG_ERROR, "TODO: stasis_http_unpause_recording\n");
}
void stasis_http_mute_recording(struct ast_variable *headers, struct ast_mute_recording_args *args, struct stasis_http_response *response)
{
ast_log(LOG_ERROR, "TODO: stasis_http_mute_recording\n");
}
void stasis_http_unmute_recording(struct ast_variable *headers, struct ast_unmute_recording_args *args, struct stasis_http_response *response)
{
ast_log(LOG_ERROR, "TODO: stasis_http_unmute_recording\n");
}

View File

@@ -2,7 +2,7 @@
# #
# Asterisk -- A telephony toolkit for Linux. # Asterisk -- A telephony toolkit for Linux.
# #
# Generated Makefile for res_stasis_http dependencies. # Generated Makefile for res_ari dependencies.
# #
# Copyright (C) 2013, Digium, Inc. # Copyright (C) 2013, Digium, Inc.
# #
@@ -15,12 +15,12 @@
# !!!!! DO NOT EDIT !!!!! # !!!!! DO NOT EDIT !!!!!
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# This file is generated by a template. Please see the original template at # This file is generated by a template. Please see the original template at
# rest-api-templates/stasis_http.make.mustache # rest-api-templates/ari.make.mustache
# #
{{#apis}} {{#apis}}
res_stasis_http_{{name}}.so: stasis_http/resource_{{name}}.o res_ari_{{name}}.so: ari/resource_{{name}}.o
stasis_http/resource_{{name}}.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_stasis_http_{{name}}) ari/resource_{{name}}.o: _ASTCFLAGS+=$(call MOD_ASTCFLAGS,res_ari_{{name}})
{{/apis}} {{/apis}}

View File

@@ -36,7 +36,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
{{#api_declaration}} {{#api_declaration}}
{{#models}} {{#models}}
int ari_validate_{{c_id}}(struct ast_json *json) int ast_ari_validate_{{c_id}}(struct ast_json *json)
{ {
int res = 1; int res = 1;
struct ast_json_iter *iter; struct ast_json_iter *iter;
@@ -59,7 +59,7 @@ int ari_validate_{{c_id}}(struct ast_json *json)
} else } else
{{#subtypes}} {{#subtypes}}
if (strcmp("{{id}}", discriminator) == 0) { if (strcmp("{{id}}", discriminator) == 0) {
return ari_validate_{{c_id}}(json); return ast_ari_validate_{{c_id}}(json);
} else } else
{{/subtypes}} {{/subtypes}}
{ {
@@ -78,12 +78,12 @@ int ari_validate_{{c_id}}(struct ast_json *json)
{{/required}} {{/required}}
{{#type}} {{#type}}
{{#is_list}} {{#is_list}}
prop_is_valid = ari_validate_list( prop_is_valid = ast_ari_validate_list(
ast_json_object_iter_value(iter), ast_json_object_iter_value(iter),
ari_validate_{{c_singular_name}}); ast_ari_validate_{{c_singular_name}});
{{/is_list}} {{/is_list}}
{{^is_list}} {{^is_list}}
prop_is_valid = ari_validate_{{c_name}}( prop_is_valid = ast_ari_validate_{{c_name}}(
ast_json_object_iter_value(iter)); ast_json_object_iter_value(iter));
{{/is_list}} {{/is_list}}
{{/type}} {{/type}}
@@ -113,9 +113,9 @@ int ari_validate_{{c_id}}(struct ast_json *json)
return res; return res;
} }
ari_validator ari_validate_{{c_id}}_fn(void) ari_validator ast_ari_validate_{{c_id}}_fn(void)
{ {
return ari_validate_{{c_id}}; return ast_ari_validate_{{c_id}};
} }
{{/models}} {{/models}}
{{/api_declaration}} {{/api_declaration}}

View File

@@ -19,7 +19,7 @@
* \brief Generated file - Build validators for ARI model objects. * \brief Generated file - Build validators for ARI model objects.
* *
* In addition to the normal validation functions one would normally expect, * In addition to the normal validation functions one would normally expect,
* each validator has a ari_validate_{id}_fn() companion function that returns * each validator has a ast_ari_validate_{id}_fn() companion function that returns
* the validator's function pointer. * the validator's function pointer.
* *
* The reason for this seamingly useless indirection is the way function * The reason for this seamingly useless indirection is the way function
@@ -50,7 +50,7 @@
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_void(struct ast_json *json); int ast_ari_validate_void(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger byte. * \brief Validator for native Swagger byte.
@@ -59,7 +59,7 @@ int ari_validate_void(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_byte(struct ast_json *json); int ast_ari_validate_byte(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger boolean. * \brief Validator for native Swagger boolean.
@@ -68,7 +68,7 @@ int ari_validate_byte(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_boolean(struct ast_json *json); int ast_ari_validate_boolean(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger int. * \brief Validator for native Swagger int.
@@ -77,7 +77,7 @@ int ari_validate_boolean(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_int(struct ast_json *json); int ast_ari_validate_int(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger long. * \brief Validator for native Swagger long.
@@ -86,7 +86,7 @@ int ari_validate_int(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_long(struct ast_json *json); int ast_ari_validate_long(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger float. * \brief Validator for native Swagger float.
@@ -95,7 +95,7 @@ int ari_validate_long(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_float(struct ast_json *json); int ast_ari_validate_float(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger double. * \brief Validator for native Swagger double.
@@ -104,7 +104,7 @@ int ari_validate_float(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_double(struct ast_json *json); int ast_ari_validate_double(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger string. * \brief Validator for native Swagger string.
@@ -113,7 +113,7 @@ int ari_validate_double(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_string(struct ast_json *json); int ast_ari_validate_string(struct ast_json *json);
/*! /*!
* \brief Validator for native Swagger date. * \brief Validator for native Swagger date.
@@ -122,7 +122,7 @@ int ari_validate_string(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_date(struct ast_json *json); int ast_ari_validate_date(struct ast_json *json);
/*! /*!
* \brief Validator for a Swagger List[]/JSON array. * \brief Validator for a Swagger List[]/JSON array.
@@ -132,7 +132,7 @@ int ari_validate_date(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_list(struct ast_json *json, int (*fn)(struct ast_json *)); int ast_ari_validate_list(struct ast_json *json, int (*fn)(struct ast_json *));
/*! @} */ /*! @} */
@@ -153,14 +153,14 @@ typedef int (*ari_validator)(struct ast_json *json);
* \returns True (non-zero) if valid. * \returns True (non-zero) if valid.
* \returns False (zero) if invalid. * \returns False (zero) if invalid.
*/ */
int ari_validate_{{c_id}}(struct ast_json *json); int ast_ari_validate_{{c_id}}(struct ast_json *json);
/*! /*!
* \brief Function pointer to ari_validate_{{c_id}}(). * \brief Function pointer to ast_ari_validate_{{c_id}}().
* *
* See \ref ari_model_validators.h for more details. * See \ref ast_ari_model_validators.h for more details.
*/ */
ari_validator ari_validate_{{c_id}}_fn(void); ari_validator ast_ari_validate_{{c_id}}_fn(void);
{{/models}} {{/models}}
{{/api_declaration}} {{/api_declaration}}
{{/apis}} {{/apis}}

View File

@@ -33,19 +33,19 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
{{#apis}} {{#apis}}
{{#operations}} {{#operations}}
{{#is_req}} {{#is_req}}
void stasis_http_{{c_nickname}}(struct ast_variable *headers, void ast_ari_{{c_nickname}}(struct ast_variable *headers,
struct ast_{{c_nickname}}_args *args, struct ast_{{c_nickname}}_args *args,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
ast_log(LOG_ERROR, "TODO: stasis_http_{{c_nickname}}\n"); ast_log(LOG_ERROR, "TODO: ast_ari_{{c_nickname}}\n");
} }
{{/is_req}} {{/is_req}}
{{#is_websocket}} {{#is_websocket}}
void ari_websocket_{{c_nickname}}(struct ari_websocket_session *session, void ast_ari_websocket_{{c_nickname}}(struct ast_ari_websocket_session *session,
struct ast_variable *headers, struct ast_variable *headers,
struct ast_{{c_nickname}}_args *args) struct ast_{{c_nickname}}_args *args)
{ {
ast_log(LOG_ERROR, "TODO: ari_websocket_{{c_nickname}}\n"); ast_log(LOG_ERROR, "TODO: ast_ari_websocket_{{c_nickname}}\n");
} }
{{/is_websocket}} {{/is_websocket}}
{{/operations}} {{/operations}}

View File

@@ -20,7 +20,7 @@
/*! \file /*! \file
* *
* \brief Generated file - declares stubs to be implemented in * \brief Generated file - declares stubs to be implemented in
* res/stasis_http/resource_{{name}}.c * res/ari/resource_{{name}}.c
* *
* {{{description}}} * {{{description}}}
* *
@@ -30,17 +30,17 @@
/* /*
{{> do-not-edit}} {{> do-not-edit}}
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/stasis_http_resource.h.mustache * template in rest-api-templates/ari_resource.h.mustache
*/ */
#ifndef _ASTERISK_RESOURCE_{{name_caps}}_H #ifndef _ASTERISK_RESOURCE_{{name_caps}}_H
#define _ASTERISK_RESOURCE_{{name_caps}}_H #define _ASTERISK_RESOURCE_{{name_caps}}_H
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
{{#apis}} {{#apis}}
{{#operations}} {{#operations}}
/*! \brief Argument struct for stasis_http_{{c_nickname}}() */ /*! \brief Argument struct for ast_ari_{{c_nickname}}() */
struct ast_{{c_nickname}}_args { struct ast_{{c_nickname}}_args {
{{#parameters}} {{#parameters}}
{{#description}} {{#description}}
@@ -61,7 +61,7 @@ struct ast_{{c_nickname}}_args {
* \param args Swagger parameters * \param args Swagger parameters
* \param[out] response HTTP response * \param[out] response HTTP response
*/ */
void stasis_http_{{c_nickname}}(struct ast_variable *headers, struct ast_{{c_nickname}}_args *args, struct stasis_http_response *response); void ast_ari_{{c_nickname}}(struct ast_variable *headers, struct ast_{{c_nickname}}_args *args, struct ast_ari_response *response);
{{/is_req}} {{/is_req}}
{{#is_websocket}} {{#is_websocket}}
/*! /*!
@@ -75,7 +75,7 @@ void stasis_http_{{c_nickname}}(struct ast_variable *headers, struct ast_{{c_nic
* \param headers HTTP headers. * \param headers HTTP headers.
* \param args Swagger parameters. * \param args Swagger parameters.
*/ */
void ari_websocket_{{c_nickname}}(struct ari_websocket_session *session, struct ast_variable *headers, struct ast_{{c_nickname}}_args *args); void ast_ari_websocket_{{c_nickname}}(struct ast_ari_websocket_session *session, struct ast_variable *headers, struct ast_{{c_nickname}}_args *args);
{{/is_websocket}} {{/is_websocket}}
{{/operations}} {{/operations}}
{{/apis}} {{/apis}}

View File

@@ -44,22 +44,22 @@ WIKI_PREFIX = 'Asterisk 12'
API_TRANSFORMS = [ API_TRANSFORMS = [
Transform(rel('api.wiki.mustache'), Transform(rel('api.wiki.mustache'),
'doc/rest-api/%s {{name_title}} REST API.wiki' % WIKI_PREFIX), 'doc/rest-api/%s {{name_title}} REST API.wiki' % WIKI_PREFIX),
Transform(rel('res_stasis_http_resource.c.mustache'), Transform(rel('res_ari_resource.c.mustache'),
'res/res_stasis_http_{{name}}.c'), 'res/res_ari_{{name}}.c'),
Transform(rel('stasis_http_resource.h.mustache'), Transform(rel('ari_resource.h.mustache'),
'res/stasis_http/resource_{{name}}.h'), 'res/ari/resource_{{name}}.h'),
Transform(rel('stasis_http_resource.c.mustache'), Transform(rel('ari_resource.c.mustache'),
'res/stasis_http/resource_{{name}}.c', overwrite=False), 'res/ari/resource_{{name}}.c', overwrite=False),
] ]
RESOURCES_TRANSFORMS = [ RESOURCES_TRANSFORMS = [
Transform(rel('models.wiki.mustache'), Transform(rel('models.wiki.mustache'),
'doc/rest-api/%s REST Data Models.wiki' % WIKI_PREFIX), 'doc/rest-api/%s REST Data Models.wiki' % WIKI_PREFIX),
Transform(rel('stasis_http.make.mustache'), 'res/stasis_http.make'), Transform(rel('ari.make.mustache'), 'res/ari.make'),
Transform(rel('ari_model_validators.h.mustache'), Transform(rel('ari_model_validators.h.mustache'),
'res/stasis_http/ari_model_validators.h'), 'res/ari/ari_model_validators.h'),
Transform(rel('ari_model_validators.c.mustache'), Transform(rel('ari_model_validators.c.mustache'),
'res/stasis_http/ari_model_validators.c'), 'res/ari/ari_model_validators.c'),
] ]

View File

@@ -26,7 +26,7 @@
/* /*
{{> do-not-edit}} {{> do-not-edit}}
* This file is generated by a mustache template. Please see the original * This file is generated by a mustache template. Please see the original
* template in rest-api-templates/res_stasis_http_resource.c.mustache * template in rest-api-templates/res_ari_resource.c.mustache
*/ */
/*! \file /*! \file
@@ -37,7 +37,7 @@
*/ */
/*** MODULEINFO /*** MODULEINFO
<depend type="module">res_stasis_http</depend> <depend type="module">res_ari</depend>
<depend type="module">res_stasis</depend> <depend type="module">res_stasis</depend>
<support_level>core</support_level> <support_level>core</support_level>
***/ ***/
@@ -48,9 +48,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/stasis_app.h" #include "asterisk/stasis_app.h"
#include "stasis_http/resource_{{name}}.h" #include "ari/resource_{{name}}.h"
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
#include "stasis_http/ari_model_validators.h" #include "ari/ari_model_validators.h"
#endif #endif
{{#apis}} {{#apis}}
@@ -63,9 +63,9 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
* \param headers HTTP headers. * \param headers HTTP headers.
* \param[out] response Response to the HTTP request. * \param[out] response Response to the HTTP request.
*/ */
static void stasis_http_{{c_nickname}}_cb( static void ast_ari_{{c_nickname}}_cb(
struct ast_variable *get_params, struct ast_variable *path_vars, struct ast_variable *get_params, struct ast_variable *path_vars,
struct ast_variable *headers, struct stasis_http_response *response) struct ast_variable *headers, struct ast_ari_response *response)
{ {
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
int is_valid; int is_valid;
@@ -73,7 +73,7 @@ static void stasis_http_{{c_nickname}}_cb(
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
{{> param_parsing}} {{> param_parsing}}
stasis_http_{{c_nickname}}(headers, &args, response); ast_ari_{{c_nickname}}(headers, &args, response);
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
code = response->response_code; code = response->response_code;
@@ -92,11 +92,11 @@ static void stasis_http_{{c_nickname}}_cb(
if (200 <= code && code <= 299) { if (200 <= code && code <= 299) {
{{#response_class}} {{#response_class}}
{{#is_list}} {{#is_list}}
is_valid = ari_validate_list(response->message, is_valid = ast_ari_validate_list(response->message,
ari_validate_{{c_singular_name}}_fn()); ast_ari_validate_{{c_singular_name}}_fn());
{{/is_list}} {{/is_list}}
{{^is_list}} {{^is_list}}
is_valid = ari_validate_{{c_name}}( is_valid = ast_ari_validate_{{c_name}}(
response->message); response->message);
{{/is_list}} {{/is_list}}
{{/response_class}} {{/response_class}}
@@ -108,18 +108,18 @@ static void stasis_http_{{c_nickname}}_cb(
if (!is_valid) { if (!is_valid) {
ast_log(LOG_ERROR, "Response validation failed for {{path}}\n"); ast_log(LOG_ERROR, "Response validation failed for {{path}}\n");
stasis_http_response_error(response, 500, ast_ari_response_error(response, 500,
"Internal Server Error", "Response validation failed"); "Internal Server Error", "Response validation failed");
} }
#endif /* AST_DEVMODE */ #endif /* AST_DEVMODE */
} }
{{/is_req}} {{/is_req}}
{{#is_websocket}} {{#is_websocket}}
static void stasis_http_{{c_nickname}}_ws_cb(struct ast_websocket *ws_session, static void ast_ari_{{c_nickname}}_ws_cb(struct ast_websocket *ws_session,
struct ast_variable *get_params, struct ast_variable *headers) struct ast_variable *get_params, struct ast_variable *headers)
{ {
RAII_VAR(struct ast_websocket *, s, ws_session, ast_websocket_unref); RAII_VAR(struct ast_websocket *, s, ws_session, ast_websocket_unref);
RAII_VAR(struct ari_websocket_session *, session, NULL, ao2_cleanup); RAII_VAR(struct ast_ari_websocket_session *, session, NULL, ao2_cleanup);
{{#has_path_parameters}} {{#has_path_parameters}}
/* TODO: It's not immediately obvious how to pass path params through /* TODO: It's not immediately obvious how to pass path params through
* the websocket code to this callback. Not needed right now, so we'll * the websocket code to this callback. Not needed right now, so we'll
@@ -128,16 +128,16 @@ static void stasis_http_{{c_nickname}}_ws_cb(struct ast_websocket *ws_session,
{{/has_path_parameters}} {{/has_path_parameters}}
{{> param_parsing}} {{> param_parsing}}
#if defined(AST_DEVMODE) #if defined(AST_DEVMODE)
session = ari_websocket_session_create(ws_session, session = ast_ari_websocket_session_create(ws_session,
ari_validate_{{response_class.c_name}}_fn()); ast_ari_validate_{{response_class.c_name}}_fn());
#else #else
session = ari_websocket_session_create(ws_session, NULL); session = ast_ari_websocket_session_create(ws_session, NULL);
#endif #endif
if (!session) { if (!session) {
ast_log(LOG_ERROR, "Failed to create ARI session\n"); ast_log(LOG_ERROR, "Failed to create ARI session\n");
return; return;
} }
ari_websocket_{{c_nickname}}(session, headers, &args); ast_ari_websocket_{{c_nickname}}(session, headers, &args);
} }
{{/is_websocket}} {{/is_websocket}}
{{/operations}} {{/operations}}
@@ -161,18 +161,18 @@ static int load_module(void)
{{#operations}} {{#operations}}
{{#is_websocket}} {{#is_websocket}}
res |= ast_websocket_server_add_protocol({{full_name}}.ws_server, res |= ast_websocket_server_add_protocol({{full_name}}.ws_server,
"{{websocket_protocol}}", stasis_http_{{c_nickname}}_ws_cb); "{{websocket_protocol}}", ast_ari_{{c_nickname}}_ws_cb);
{{/is_websocket}} {{/is_websocket}}
{{/operations}} {{/operations}}
{{/apis}} {{/apis}}
stasis_app_ref(); stasis_app_ref();
res |= stasis_http_add_handler(&{{root_full_name}}); res |= ast_ari_add_handler(&{{root_full_name}});
return res; return res;
} }
static int unload_module(void) static int unload_module(void)
{ {
stasis_http_remove_handler(&{{root_full_name}}); ast_ari_remove_handler(&{{root_full_name}});
{{#apis}} {{#apis}}
{{#has_websocket}} {{#has_websocket}}
ao2_cleanup({{full_name}}.ws_server); ao2_cleanup({{full_name}}.ws_server);
@@ -186,6 +186,6 @@ static int unload_module(void)
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - {{{description}}}", AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - {{{description}}}",
.load = load_module, .load = load_module,
.unload = unload_module, .unload = unload_module,
.nonoptreq = "res_stasis_http,res_stasis", .nonoptreq = "res_ari,res_stasis",
); );
{{/api_declaration}} {{/api_declaration}}

View File

@@ -17,7 +17,7 @@
}} }}
{{! {{!
* Recursive partial template to render a rest_handler. Used in * Recursive partial template to render a rest_handler. Used in
* res_stasis_http_resource.c.mustache. * res_ari_resource.c.mustache.
}} }}
{{#children}} {{#children}}
{{> rest_handler}} {{> rest_handler}}
@@ -31,7 +31,7 @@ static struct stasis_rest_handlers {{full_name}} = {
.callbacks = { .callbacks = {
{{#operations}} {{#operations}}
{{#is_req}} {{#is_req}}
[{{c_http_method}}] = stasis_http_{{c_nickname}}_cb, [{{c_http_method}}] = ast_ari_{{c_nickname}}_cb,
{{/is_req}} {{/is_req}}
{{/operations}} {{/operations}}
}, },

View File

@@ -17,7 +17,7 @@
*/ */
/*! /*!
* \file \brief Test Stasis HTTP API. * \file \brief Test ARI API.
* \author\verbatim David M. Lee, II <dlee@digium.com> \endverbatim * \author\verbatim David M. Lee, II <dlee@digium.com> \endverbatim
* *
* \ingroup tests * \ingroup tests
@@ -25,7 +25,7 @@
/*** MODULEINFO /*** MODULEINFO
<depend>TEST_FRAMEWORK</depend> <depend>TEST_FRAMEWORK</depend>
<depend>res_stasis_http</depend> <depend>res_ari</depend>
<support_level>core</support_level> <support_level>core</support_level>
***/ ***/
@@ -35,7 +35,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/test.h" #include "asterisk/test.h"
#include "asterisk/stasis_http.h" #include "asterisk/ari.h"
/*!@{*/ /*!@{*/
@@ -62,7 +62,7 @@ static void handler(const char *name,
struct ast_variable *get_params, struct ast_variable *get_params,
struct ast_variable *path_vars, struct ast_variable *path_vars,
struct ast_variable *headers, struct ast_variable *headers,
struct stasis_http_response *response) struct ast_ari_response *response)
{ {
struct ast_json *message = ast_json_pack("{s: s, s: {}, s: {}, s: {}}", struct ast_json *message = ast_json_pack("{s: s, s: {}, s: {}, s: {}}",
"name", name, "name", name,
@@ -98,7 +98,7 @@ static void handler(const char *name,
static void name(struct ast_variable *get_params, \ static void name(struct ast_variable *get_params, \
struct ast_variable *path_vars, \ struct ast_variable *path_vars, \
struct ast_variable *headers, \ struct ast_variable *headers, \
struct stasis_http_response *response) \ struct ast_ari_response *response) \
{ \ { \
handler(#name, response_code, get_params, path_vars, headers, response); \ handler(#name, response_code, get_params, path_vars, headers, response); \
} }
@@ -149,20 +149,20 @@ static struct stasis_rest_handlers test_root = {
/*! /*!
* \internal * \internal
* \c stasis_http_response constructor. * \c ast_ari_response constructor.
*/ */
static struct stasis_http_response *response_alloc(void) static struct ast_ari_response *response_alloc(void)
{ {
struct stasis_http_response *resp = ast_calloc(1, sizeof(struct stasis_http_response)); struct ast_ari_response *resp = ast_calloc(1, sizeof(struct ast_ari_response));
resp->headers = ast_str_create(24); resp->headers = ast_str_create(24);
return resp; return resp;
} }
/*! /*!
* \internal * \internal
* \c stasis_http_response destructor. * \c ast_ari_response destructor.
*/ */
static void response_free(struct stasis_http_response *resp) static void response_free(struct ast_ari_response *resp)
{ {
if (!resp) { if (!resp) {
return; return;
@@ -179,7 +179,7 @@ static void response_free(struct stasis_http_response *resp)
static void *setup_invocation_test(void) { static void *setup_invocation_test(void) {
int r; int r;
invocation_count = 0; invocation_count = 0;
r = stasis_http_add_handler(&test_root); r = ast_ari_add_handler(&test_root);
ast_assert(r == 0); ast_assert(r == 0);
return &invocation_count; return &invocation_count;
} }
@@ -192,13 +192,13 @@ static void tear_down_invocation_test(void *ignore) {
if (!ignore) { if (!ignore) {
return; return;
} }
stasis_http_remove_handler(&test_root); ast_ari_remove_handler(&test_root);
} }
AST_TEST_DEFINE(get_docs) AST_TEST_DEFINE(get_docs)
{ {
RAII_VAR(struct stasis_http_response *, response, NULL, response_free); RAII_VAR(struct ast_ari_response *, response, NULL, response_free);
RAII_VAR(struct ast_variable *, headers, NULL, ast_variables_destroy); RAII_VAR(struct ast_variable *, headers, NULL, ast_variables_destroy);
struct ast_json *basePathJson; struct ast_json *basePathJson;
const char *basePath; const char *basePath;
@@ -206,9 +206,9 @@ AST_TEST_DEFINE(get_docs)
switch (cmd) { switch (cmd) {
case TEST_INIT: case TEST_INIT:
info->name = __func__; info->name = __func__;
info->category = "/stasis/http/"; info->category = "/res/ari/";
info->summary = "Test simple API get."; info->summary = "Test simple API get.";
info->description = "Test Stasis HTTP binding logic."; info->description = "Test ARI binding logic.";
return AST_TEST_NOT_RUN; return AST_TEST_NOT_RUN;
case TEST_EXECUTE: case TEST_EXECUTE:
break; break;
@@ -216,7 +216,7 @@ AST_TEST_DEFINE(get_docs)
response = response_alloc(); response = response_alloc();
headers = ast_variable_new("Host", "stasis.asterisk.org", __FILE__); headers = ast_variable_new("Host", "stasis.asterisk.org", __FILE__);
stasis_http_get_docs("resources.json", headers, response); ast_ari_get_docs("resources.json", headers, response);
ast_test_validate(test, 200 == response->response_code); ast_test_validate(test, 200 == response->response_code);
/* basePath should be relative to the Host header */ /* basePath should be relative to the Host header */
@@ -230,23 +230,23 @@ AST_TEST_DEFINE(get_docs)
AST_TEST_DEFINE(get_docs_nohost) AST_TEST_DEFINE(get_docs_nohost)
{ {
RAII_VAR(struct stasis_http_response *, response, NULL, response_free); RAII_VAR(struct ast_ari_response *, response, NULL, response_free);
struct ast_variable *headers = NULL; struct ast_variable *headers = NULL;
struct ast_json *basePathJson; struct ast_json *basePathJson;
switch (cmd) { switch (cmd) {
case TEST_INIT: case TEST_INIT:
info->name = __func__; info->name = __func__;
info->category = "/stasis/http/"; info->category = "/res/ari/";
info->summary = "Test API get without a Host header"; info->summary = "Test API get without a Host header";
info->description = "Test Stasis HTTP binding logic."; info->description = "Test ARI binding logic.";
return AST_TEST_NOT_RUN; return AST_TEST_NOT_RUN;
case TEST_EXECUTE: case TEST_EXECUTE:
break; break;
} }
response = response_alloc(); response = response_alloc();
stasis_http_get_docs("resources.json", headers, response); ast_ari_get_docs("resources.json", headers, response);
ast_test_validate(test, 200 == response->response_code); ast_test_validate(test, 200 == response->response_code);
/* basePath should be relative to the Host header */ /* basePath should be relative to the Host header */
@@ -258,22 +258,22 @@ AST_TEST_DEFINE(get_docs_nohost)
AST_TEST_DEFINE(get_docs_notfound) AST_TEST_DEFINE(get_docs_notfound)
{ {
RAII_VAR(struct stasis_http_response *, response, NULL, response_free); RAII_VAR(struct ast_ari_response *, response, NULL, response_free);
struct ast_variable *headers = NULL; struct ast_variable *headers = NULL;
switch (cmd) { switch (cmd) {
case TEST_INIT: case TEST_INIT:
info->name = __func__; info->name = __func__;
info->category = "/stasis/http/"; info->category = "/res/ari/";
info->summary = "Test API get for invalid resource"; info->summary = "Test API get for invalid resource";
info->description = "Test Stasis HTTP binding logic."; info->description = "Test ARI binding logic.";
return AST_TEST_NOT_RUN; return AST_TEST_NOT_RUN;
case TEST_EXECUTE: case TEST_EXECUTE:
break; break;
} }
response = response_alloc(); response = response_alloc();
stasis_http_get_docs("i-am-not-a-resource.json", headers, response); ast_ari_get_docs("i-am-not-a-resource.json", headers, response);
ast_test_validate(test, 404 == response->response_code); ast_test_validate(test, 404 == response->response_code);
return AST_TEST_PASS; return AST_TEST_PASS;
@@ -281,22 +281,22 @@ AST_TEST_DEFINE(get_docs_notfound)
AST_TEST_DEFINE(get_docs_hackerz) AST_TEST_DEFINE(get_docs_hackerz)
{ {
RAII_VAR(struct stasis_http_response *, response, NULL, response_free); RAII_VAR(struct ast_ari_response *, response, NULL, response_free);
struct ast_variable *headers = NULL; struct ast_variable *headers = NULL;
switch (cmd) { switch (cmd) {
case TEST_INIT: case TEST_INIT:
info->name = __func__; info->name = __func__;
info->category = "/stasis/http/"; info->category = "/res/ari/";
info->summary = "Test API get for a file outside the rest-api path"; info->summary = "Test API get for a file outside the rest-api path";
info->description = "Test Stasis HTTP binding logic."; info->description = "Test ARI binding logic.";
return AST_TEST_NOT_RUN; return AST_TEST_NOT_RUN;
case TEST_EXECUTE: case TEST_EXECUTE:
break; break;
} }
response = response_alloc(); response = response_alloc();
stasis_http_get_docs("../../../../sbin/asterisk", headers, response); ast_ari_get_docs("../../../../sbin/asterisk", headers, response);
ast_test_validate(test, 404 == response->response_code); ast_test_validate(test, 404 == response->response_code);
return AST_TEST_PASS; return AST_TEST_PASS;
@@ -305,7 +305,7 @@ AST_TEST_DEFINE(get_docs_hackerz)
AST_TEST_DEFINE(invoke_get) AST_TEST_DEFINE(invoke_get)
{ {
RAII_VAR(void *, fixture, NULL, tear_down_invocation_test); RAII_VAR(void *, fixture, NULL, tear_down_invocation_test);
RAII_VAR(struct stasis_http_response *, response, NULL, response_free); RAII_VAR(struct ast_ari_response *, response, NULL, response_free);
RAII_VAR(struct ast_json *, expected, NULL, ast_json_unref); RAII_VAR(struct ast_json *, expected, NULL, ast_json_unref);
struct ast_variable *get_params = NULL; struct ast_variable *get_params = NULL;
struct ast_variable *headers = NULL; struct ast_variable *headers = NULL;
@@ -313,9 +313,9 @@ AST_TEST_DEFINE(invoke_get)
switch (cmd) { switch (cmd) {
case TEST_INIT: case TEST_INIT:
info->name = __func__; info->name = __func__;
info->category = "/stasis/http/"; info->category = "/res/ari/";
info->summary = "Test simple GET of an HTTP resource."; info->summary = "Test simple GET of an HTTP resource.";
info->description = "Test Stasis HTTP binding logic."; info->description = "Test ARI binding logic.";
return AST_TEST_NOT_RUN; return AST_TEST_NOT_RUN;
case TEST_EXECUTE: case TEST_EXECUTE:
break; break;
@@ -343,7 +343,7 @@ AST_TEST_DEFINE(invoke_get)
"head2", "head-two", "head2", "head-two",
"path_vars"); "path_vars");
stasis_http_invoke(NULL, "foo", AST_HTTP_GET, get_params, headers, response); ast_ari_invoke(NULL, "foo", AST_HTTP_GET, get_params, headers, response);
ast_test_validate(test, 1 == invocation_count); ast_test_validate(test, 1 == invocation_count);
ast_test_validate(test, 200 == response->response_code); ast_test_validate(test, 200 == response->response_code);
@@ -355,7 +355,7 @@ AST_TEST_DEFINE(invoke_get)
AST_TEST_DEFINE(invoke_wildcard) AST_TEST_DEFINE(invoke_wildcard)
{ {
RAII_VAR(void *, fixture, NULL, tear_down_invocation_test); RAII_VAR(void *, fixture, NULL, tear_down_invocation_test);
RAII_VAR(struct stasis_http_response *, response, NULL, response_free); RAII_VAR(struct ast_ari_response *, response, NULL, response_free);
RAII_VAR(struct ast_json *, expected, NULL, ast_json_unref); RAII_VAR(struct ast_json *, expected, NULL, ast_json_unref);
struct ast_variable *get_params = NULL; struct ast_variable *get_params = NULL;
struct ast_variable *headers = NULL; struct ast_variable *headers = NULL;
@@ -363,9 +363,9 @@ AST_TEST_DEFINE(invoke_wildcard)
switch (cmd) { switch (cmd) {
case TEST_INIT: case TEST_INIT:
info->name = __func__; info->name = __func__;
info->category = "/stasis/http/"; info->category = "/res/ari/";
info->summary = "Test GET of a wildcard resource."; info->summary = "Test GET of a wildcard resource.";
info->description = "Test Stasis HTTP binding logic."; info->description = "Test ARI binding logic.";
return AST_TEST_NOT_RUN; return AST_TEST_NOT_RUN;
case TEST_EXECUTE: case TEST_EXECUTE:
break; break;
@@ -380,7 +380,7 @@ AST_TEST_DEFINE(invoke_wildcard)
"path_vars", "path_vars",
"bam", "foshizzle"); "bam", "foshizzle");
stasis_http_invoke(NULL, "foo/foshizzle", AST_HTTP_GET, get_params, headers, response); ast_ari_invoke(NULL, "foo/foshizzle", AST_HTTP_GET, get_params, headers, response);
ast_test_validate(test, 1 == invocation_count); ast_test_validate(test, 1 == invocation_count);
ast_test_validate(test, 200 == response->response_code); ast_test_validate(test, 200 == response->response_code);
@@ -392,7 +392,7 @@ AST_TEST_DEFINE(invoke_wildcard)
AST_TEST_DEFINE(invoke_delete) AST_TEST_DEFINE(invoke_delete)
{ {
RAII_VAR(void *, fixture, NULL, tear_down_invocation_test); RAII_VAR(void *, fixture, NULL, tear_down_invocation_test);
RAII_VAR(struct stasis_http_response *, response, NULL, response_free); RAII_VAR(struct ast_ari_response *, response, NULL, response_free);
RAII_VAR(struct ast_json *, expected, NULL, ast_json_unref); RAII_VAR(struct ast_json *, expected, NULL, ast_json_unref);
struct ast_variable *get_params = NULL; struct ast_variable *get_params = NULL;
struct ast_variable *headers = NULL; struct ast_variable *headers = NULL;
@@ -400,9 +400,9 @@ AST_TEST_DEFINE(invoke_delete)
switch (cmd) { switch (cmd) {
case TEST_INIT: case TEST_INIT:
info->name = __func__; info->name = __func__;
info->category = "/stasis/http/"; info->category = "/res/ari/";
info->summary = "Test DELETE of an HTTP resource."; info->summary = "Test DELETE of an HTTP resource.";
info->description = "Test Stasis HTTP binding logic."; info->description = "Test ARI binding logic.";
return AST_TEST_NOT_RUN; return AST_TEST_NOT_RUN;
case TEST_EXECUTE: case TEST_EXECUTE:
break; break;
@@ -417,7 +417,7 @@ AST_TEST_DEFINE(invoke_delete)
"path_vars", "path_vars",
"bam", "foshizzle"); "bam", "foshizzle");
stasis_http_invoke(NULL, "foo/foshizzle/bang", AST_HTTP_DELETE, get_params, headers, response); ast_ari_invoke(NULL, "foo/foshizzle/bang", AST_HTTP_DELETE, get_params, headers, response);
ast_test_validate(test, 1 == invocation_count); ast_test_validate(test, 1 == invocation_count);
ast_test_validate(test, 204 == response->response_code); ast_test_validate(test, 204 == response->response_code);
@@ -429,7 +429,7 @@ AST_TEST_DEFINE(invoke_delete)
AST_TEST_DEFINE(invoke_post) AST_TEST_DEFINE(invoke_post)
{ {
RAII_VAR(void *, fixture, NULL, tear_down_invocation_test); RAII_VAR(void *, fixture, NULL, tear_down_invocation_test);
RAII_VAR(struct stasis_http_response *, response, NULL, response_free); RAII_VAR(struct ast_ari_response *, response, NULL, response_free);
RAII_VAR(struct ast_json *, expected, NULL, ast_json_unref); RAII_VAR(struct ast_json *, expected, NULL, ast_json_unref);
struct ast_variable *get_params = NULL; struct ast_variable *get_params = NULL;
struct ast_variable *headers = NULL; struct ast_variable *headers = NULL;
@@ -437,9 +437,9 @@ AST_TEST_DEFINE(invoke_post)
switch (cmd) { switch (cmd) {
case TEST_INIT: case TEST_INIT:
info->name = __func__; info->name = __func__;
info->category = "/stasis/http/"; info->category = "/res/ari/";
info->summary = "Test POST of an HTTP resource."; info->summary = "Test POST of an HTTP resource.";
info->description = "Test Stasis HTTP binding logic."; info->description = "Test ARI binding logic.";
return AST_TEST_NOT_RUN; return AST_TEST_NOT_RUN;
case TEST_EXECUTE: case TEST_EXECUTE:
break; break;
@@ -467,7 +467,7 @@ AST_TEST_DEFINE(invoke_post)
"head2", "head-two", "head2", "head-two",
"path_vars"); "path_vars");
stasis_http_invoke(NULL, "foo/bar", AST_HTTP_POST, get_params, headers, response); ast_ari_invoke(NULL, "foo/bar", AST_HTTP_POST, get_params, headers, response);
ast_test_validate(test, 1 == invocation_count); ast_test_validate(test, 1 == invocation_count);
ast_test_validate(test, 200 == response->response_code); ast_test_validate(test, 200 == response->response_code);
@@ -479,16 +479,16 @@ AST_TEST_DEFINE(invoke_post)
AST_TEST_DEFINE(invoke_bad_post) AST_TEST_DEFINE(invoke_bad_post)
{ {
RAII_VAR(void *, fixture, NULL, tear_down_invocation_test); RAII_VAR(void *, fixture, NULL, tear_down_invocation_test);
RAII_VAR(struct stasis_http_response *, response, NULL, response_free); RAII_VAR(struct ast_ari_response *, response, NULL, response_free);
struct ast_variable *get_params = NULL; struct ast_variable *get_params = NULL;
struct ast_variable *headers = NULL; struct ast_variable *headers = NULL;
switch (cmd) { switch (cmd) {
case TEST_INIT: case TEST_INIT:
info->name = __func__; info->name = __func__;
info->category = "/stasis/http/"; info->category = "/res/ari/";
info->summary = "Test POST on a resource that doesn't support it."; info->summary = "Test POST on a resource that doesn't support it.";
info->description = "Test Stasis HTTP binding logic."; info->description = "Test ARI binding logic.";
return AST_TEST_NOT_RUN; return AST_TEST_NOT_RUN;
case TEST_EXECUTE: case TEST_EXECUTE:
break; break;
@@ -496,7 +496,7 @@ AST_TEST_DEFINE(invoke_bad_post)
fixture = setup_invocation_test(); fixture = setup_invocation_test();
response = response_alloc(); response = response_alloc();
stasis_http_invoke(NULL, "foo", AST_HTTP_POST, get_params, headers, response); ast_ari_invoke(NULL, "foo", AST_HTTP_POST, get_params, headers, response);
ast_test_validate(test, 0 == invocation_count); ast_test_validate(test, 0 == invocation_count);
ast_test_validate(test, 405 == response->response_code); ast_test_validate(test, 405 == response->response_code);
@@ -507,16 +507,16 @@ AST_TEST_DEFINE(invoke_bad_post)
AST_TEST_DEFINE(invoke_not_found) AST_TEST_DEFINE(invoke_not_found)
{ {
RAII_VAR(void *, fixture, NULL, tear_down_invocation_test); RAII_VAR(void *, fixture, NULL, tear_down_invocation_test);
RAII_VAR(struct stasis_http_response *, response, NULL, response_free); RAII_VAR(struct ast_ari_response *, response, NULL, response_free);
struct ast_variable *get_params = NULL; struct ast_variable *get_params = NULL;
struct ast_variable *headers = NULL; struct ast_variable *headers = NULL;
switch (cmd) { switch (cmd) {
case TEST_INIT: case TEST_INIT:
info->name = __func__; info->name = __func__;
info->category = "/stasis/http/"; info->category = "/res/ari/";
info->summary = "Test GET on a resource that does not exist."; info->summary = "Test GET on a resource that does not exist.";
info->description = "Test Stasis HTTP binding logic."; info->description = "Test ARI binding logic.";
return AST_TEST_NOT_RUN; return AST_TEST_NOT_RUN;
case TEST_EXECUTE: case TEST_EXECUTE:
break; break;
@@ -524,7 +524,7 @@ AST_TEST_DEFINE(invoke_not_found)
fixture = setup_invocation_test(); fixture = setup_invocation_test();
response = response_alloc(); response = response_alloc();
stasis_http_invoke(NULL, "foo/fizzle/i-am-not-a-resource", AST_HTTP_GET, get_params, headers, response); ast_ari_invoke(NULL, "foo/fizzle/i-am-not-a-resource", AST_HTTP_GET, get_params, headers, response);
ast_test_validate(test, 0 == invocation_count); ast_test_validate(test, 0 == invocation_count);
ast_test_validate(test, 404 == response->response_code); ast_test_validate(test, 404 == response->response_code);
@@ -562,8 +562,8 @@ static int load_module(void)
return AST_MODULE_LOAD_SUCCESS; return AST_MODULE_LOAD_SUCCESS;
} }
AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Stasis HTTP testing", AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "ARI testing",
.load = load_module, .load = load_module,
.unload = unload_module, .unload = unload_module,
.nonoptreq = "res_stasis_http", .nonoptreq = "res_ari",
); );

View File

@@ -36,7 +36,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/utils.h" #include "asterisk/utils.h"
#include "asterisk/module.h" #include "asterisk/module.h"
#include "asterisk/test.h" #include "asterisk/test.h"
#include "../res/stasis_http/ari_model_validators.h" #include "../res/ari/ari_model_validators.h"
AST_TEST_DEFINE(validate_byte) AST_TEST_DEFINE(validate_byte)
{ {
@@ -58,34 +58,34 @@ AST_TEST_DEFINE(validate_byte)
uut = ast_json_integer_create(-128); uut = ast_json_integer_create(-128);
ast_test_validate(test, NULL != uut); ast_test_validate(test, NULL != uut);
ast_test_validate(test, ari_validate_byte(uut)); ast_test_validate(test, ast_ari_validate_byte(uut));
res = ast_json_integer_set(uut, 0); res = ast_json_integer_set(uut, 0);
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, ari_validate_byte(uut)); ast_test_validate(test, ast_ari_validate_byte(uut));
res = ast_json_integer_set(uut, 255); res = ast_json_integer_set(uut, 255);
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, ari_validate_byte(uut)); ast_test_validate(test, ast_ari_validate_byte(uut));
res = ast_json_integer_set(uut, -129); res = ast_json_integer_set(uut, -129);
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, !ari_validate_byte(uut)); ast_test_validate(test, !ast_ari_validate_byte(uut));
res = ast_json_integer_set(uut, 256); res = ast_json_integer_set(uut, 256);
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, !ari_validate_byte(uut)); ast_test_validate(test, !ast_ari_validate_byte(uut));
str = ast_json_string_create("not a byte"); str = ast_json_string_create("not a byte");
ast_test_validate(test, NULL != str); ast_test_validate(test, NULL != str);
ast_test_validate(test, !ari_validate_byte(str)); ast_test_validate(test, !ast_ari_validate_byte(str));
/* Even if the string has an integral value */ /* Even if the string has an integral value */
res = ast_json_string_set(str, "0"); res = ast_json_string_set(str, "0");
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, !ari_validate_byte(str)); ast_test_validate(test, !ast_ari_validate_byte(str));
ast_test_validate(test, !ari_validate_byte(ast_json_null())); ast_test_validate(test, !ast_ari_validate_byte(ast_json_null()));
return AST_TEST_PASS; return AST_TEST_PASS;
} }
@@ -107,24 +107,24 @@ AST_TEST_DEFINE(validate_boolean)
break; break;
} }
ast_test_validate(test, ari_validate_boolean(ast_json_true())); ast_test_validate(test, ast_ari_validate_boolean(ast_json_true()));
ast_test_validate(test, ari_validate_boolean(ast_json_false())); ast_test_validate(test, ast_ari_validate_boolean(ast_json_false()));
str = ast_json_string_create("not a bool"); str = ast_json_string_create("not a bool");
ast_test_validate(test, NULL != str); ast_test_validate(test, NULL != str);
ast_test_validate(test, !ari_validate_boolean(str)); ast_test_validate(test, !ast_ari_validate_boolean(str));
/* Even if the string has a boolean value */ /* Even if the string has a boolean value */
res = ast_json_string_set(str, "true"); res = ast_json_string_set(str, "true");
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, !ari_validate_boolean(str)); ast_test_validate(test, !ast_ari_validate_boolean(str));
/* Even if the string has a boolean text in it */ /* Even if the string has a boolean text in it */
res = ast_json_string_set(str, "true"); res = ast_json_string_set(str, "true");
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, !ari_validate_boolean(str)); ast_test_validate(test, !ast_ari_validate_boolean(str));
ast_test_validate(test, !ari_validate_boolean(ast_json_null())); ast_test_validate(test, !ast_ari_validate_boolean(ast_json_null()));
return AST_TEST_PASS; return AST_TEST_PASS;
} }
@@ -149,34 +149,34 @@ AST_TEST_DEFINE(validate_int)
uut = ast_json_integer_create(-2147483648LL); uut = ast_json_integer_create(-2147483648LL);
ast_test_validate(test, NULL != uut); ast_test_validate(test, NULL != uut);
ast_test_validate(test, ari_validate_int(uut)); ast_test_validate(test, ast_ari_validate_int(uut));
res = ast_json_integer_set(uut, 0); res = ast_json_integer_set(uut, 0);
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, ari_validate_int(uut)); ast_test_validate(test, ast_ari_validate_int(uut));
res = ast_json_integer_set(uut, 2147483647LL); res = ast_json_integer_set(uut, 2147483647LL);
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, ari_validate_int(uut)); ast_test_validate(test, ast_ari_validate_int(uut));
res = ast_json_integer_set(uut, -2147483649LL); res = ast_json_integer_set(uut, -2147483649LL);
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, !ari_validate_int(uut)); ast_test_validate(test, !ast_ari_validate_int(uut));
res = ast_json_integer_set(uut, 2147483648LL); res = ast_json_integer_set(uut, 2147483648LL);
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, !ari_validate_int(uut)); ast_test_validate(test, !ast_ari_validate_int(uut));
str = ast_json_string_create("not a int"); str = ast_json_string_create("not a int");
ast_test_validate(test, NULL != str); ast_test_validate(test, NULL != str);
ast_test_validate(test, !ari_validate_int(str)); ast_test_validate(test, !ast_ari_validate_int(str));
/* Even if the string has an integral value */ /* Even if the string has an integral value */
res = ast_json_string_set(str, "0"); res = ast_json_string_set(str, "0");
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, !ari_validate_int(str)); ast_test_validate(test, !ast_ari_validate_int(str));
ast_test_validate(test, !ari_validate_int(ast_json_null())); ast_test_validate(test, !ast_ari_validate_int(ast_json_null()));
return AST_TEST_PASS; return AST_TEST_PASS;
} }
@@ -201,18 +201,18 @@ AST_TEST_DEFINE(validate_long)
uut = ast_json_integer_create(0); uut = ast_json_integer_create(0);
ast_test_validate(test, NULL != uut); ast_test_validate(test, NULL != uut);
ast_test_validate(test, ari_validate_long(uut)); ast_test_validate(test, ast_ari_validate_long(uut));
str = ast_json_string_create("not a long"); str = ast_json_string_create("not a long");
ast_test_validate(test, NULL != str); ast_test_validate(test, NULL != str);
ast_test_validate(test, !ari_validate_long(str)); ast_test_validate(test, !ast_ari_validate_long(str));
/* Even if the string has an integral value */ /* Even if the string has an integral value */
res = ast_json_string_set(str, "0"); res = ast_json_string_set(str, "0");
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, !ari_validate_long(str)); ast_test_validate(test, !ast_ari_validate_long(str));
ast_test_validate(test, !ari_validate_long(ast_json_null())); ast_test_validate(test, !ast_ari_validate_long(ast_json_null()));
return AST_TEST_PASS; return AST_TEST_PASS;
} }
@@ -237,13 +237,13 @@ AST_TEST_DEFINE(validate_string)
uut = ast_json_string_create("text"); uut = ast_json_string_create("text");
ast_test_validate(test, NULL != uut); ast_test_validate(test, NULL != uut);
ast_test_validate(test, ari_validate_string(uut)); ast_test_validate(test, ast_ari_validate_string(uut));
res = ast_json_string_set(uut, ""); res = ast_json_string_set(uut, "");
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, ari_validate_string(uut)); ast_test_validate(test, ast_ari_validate_string(uut));
ast_test_validate(test, !ari_validate_string(ast_json_null())); ast_test_validate(test, !ast_ari_validate_string(ast_json_null()));
return AST_TEST_PASS; return AST_TEST_PASS;
} }
@@ -341,7 +341,7 @@ AST_TEST_DEFINE(validate_date)
for (i = 0; i < ARRAY_LEN(valid_dates); ++i) { for (i = 0; i < ARRAY_LEN(valid_dates); ++i) {
res = ast_json_string_set(uut, valid_dates[i]); res = ast_json_string_set(uut, valid_dates[i]);
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
if (!ari_validate_date(uut)) { if (!ast_ari_validate_date(uut)) {
ast_test_status_update(test, ast_test_status_update(test,
"Expected '%s' to be a valid date\n", "Expected '%s' to be a valid date\n",
valid_dates[i]); valid_dates[i]);
@@ -352,7 +352,7 @@ AST_TEST_DEFINE(validate_date)
for (i = 0; i < ARRAY_LEN(invalid_dates); ++i) { for (i = 0; i < ARRAY_LEN(invalid_dates); ++i) {
res = ast_json_string_set(uut, invalid_dates[i]); res = ast_json_string_set(uut, invalid_dates[i]);
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
if (ari_validate_date(uut)) { if (ast_ari_validate_date(uut)) {
ast_test_status_update(test, ast_test_status_update(test,
"Expected '%s' to be an invalid date\n", "Expected '%s' to be an invalid date\n",
invalid_dates[i]); invalid_dates[i]);
@@ -360,7 +360,7 @@ AST_TEST_DEFINE(validate_date)
} }
} }
ast_test_validate(test, !ari_validate_string(ast_json_null())); ast_test_validate(test, !ast_ari_validate_string(ast_json_null()));
return test_res; return test_res;
} }
@@ -385,21 +385,21 @@ AST_TEST_DEFINE(validate_list)
uut = ast_json_array_create(); uut = ast_json_array_create();
ast_test_validate(test, NULL != uut); ast_test_validate(test, NULL != uut);
ast_test_validate(test, ari_validate_list(uut, ari_validate_string)); ast_test_validate(test, ast_ari_validate_list(uut, ast_ari_validate_string));
ast_test_validate(test, ari_validate_list(uut, ari_validate_int)); ast_test_validate(test, ast_ari_validate_list(uut, ast_ari_validate_int));
res = ast_json_array_append(uut, ast_json_string_create("")); res = ast_json_array_append(uut, ast_json_string_create(""));
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, ari_validate_list(uut, ari_validate_string)); ast_test_validate(test, ast_ari_validate_list(uut, ast_ari_validate_string));
ast_test_validate(test, !ari_validate_list(uut, ari_validate_int)); ast_test_validate(test, !ast_ari_validate_list(uut, ast_ari_validate_int));
res = ast_json_array_append(uut, ast_json_integer_create(0)); res = ast_json_array_append(uut, ast_json_integer_create(0));
ast_test_validate(test, 0 == res); ast_test_validate(test, 0 == res);
ast_test_validate(test, !ari_validate_list(uut, ari_validate_string)); ast_test_validate(test, !ast_ari_validate_list(uut, ast_ari_validate_string));
ast_test_validate(test, !ari_validate_list(uut, ari_validate_int)); ast_test_validate(test, !ast_ari_validate_list(uut, ast_ari_validate_int));
ast_test_validate(test, ast_test_validate(test,
!ari_validate_list(ast_json_null(), ari_validate_string)); !ast_ari_validate_list(ast_json_null(), ast_ari_validate_string));
return AST_TEST_PASS; return AST_TEST_PASS;
} }