summaryrefslogtreecommitdiff
path: root/rest-api-templates/res_stasis_http_resource.c.mustache
diff options
context:
space:
mode:
authorKinsey Moore <kmoore@digium.com>2013-07-27 23:11:02 +0000
committerKinsey Moore <kmoore@digium.com>2013-07-27 23:11:02 +0000
commitd8956f690e7fe2d3b7799c16d0d44bbcbe25d83f (patch)
tree437bcde14739627193195953a5f8742eaa216333 /rest-api-templates/res_stasis_http_resource.c.mustache
parentfc05248bd1158d587d2339c56ed27be57d333d86 (diff)
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
Diffstat (limited to 'rest-api-templates/res_stasis_http_resource.c.mustache')
-rw-r--r--rest-api-templates/res_stasis_http_resource.c.mustache191
1 files changed, 0 insertions, 191 deletions
diff --git a/rest-api-templates/res_stasis_http_resource.c.mustache b/rest-api-templates/res_stasis_http_resource.c.mustache
deleted file mode 100644
index 4eda1c5fa..000000000
--- a/rest-api-templates/res_stasis_http_resource.c.mustache
+++ /dev/null
@@ -1,191 +0,0 @@
-{{#api_declaration}}
-/*
- * Asterisk -- An open source telephony toolkit.
- *
- * {{{copyright}}}
- *
- * {{{author}}}
-{{! Template Copyright
- * Copyright (C) 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.
- */
-
-{{! Template for rendering the res_ module for an HTTP resource. }}
-/*
-{{> do-not-edit}}
- * This file is generated by a mustache template. Please see the original
- * template in rest-api-templates/res_stasis_http_resource.c.mustache
- */
-
-/*! \file
- *
- * \brief {{{description}}}
- *
- * \author {{{author}}}
- */
-
-/*** MODULEINFO
- <depend type="module">res_stasis_http</depend>
- <depend type="module">res_stasis</depend>
- <support_level>core</support_level>
- ***/
-
-#include "asterisk.h"
-
-ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
-
-#include "asterisk/module.h"
-#include "asterisk/stasis_app.h"
-#include "stasis_http/resource_{{name}}.h"
-#if defined(AST_DEVMODE)
-#include "stasis_http/ari_model_validators.h"
-#endif
-
-{{#apis}}
-{{#operations}}
-{{#is_req}}
-/*!
- * \brief Parameter parsing callback for {{path}}.
- * \param get_params GET parameters in the HTTP request.
- * \param path_vars Path variables extracted from the request.
- * \param headers HTTP headers.
- * \param[out] response Response to the HTTP request.
- */
-static void stasis_http_{{c_nickname}}_cb(
- struct ast_variable *get_params, struct ast_variable *path_vars,
- struct ast_variable *headers, struct stasis_http_response *response)
-{
-#if defined(AST_DEVMODE)
- int is_valid;
- int code;
-#endif /* AST_DEVMODE */
-
-{{> param_parsing}}
- stasis_http_{{c_nickname}}(headers, &args, response);
-#if defined(AST_DEVMODE)
- code = response->response_code;
-
- switch (code) {
- case 0: /* Implementation is still a stub, or the code wasn't set */
- is_valid = response->message == NULL;
- break;
- case 500: /* Internal Server Error */
- case 501: /* Not Implemented */
-{{#error_responses}}
- case {{code}}: /* {{{reason}}} */
-{{/error_responses}}
- is_valid = 1;
- break;
- default:
- if (200 <= code && code <= 299) {
-{{#response_class}}
-{{#is_list}}
- is_valid = ari_validate_list(response->message,
- ari_validate_{{c_singular_name}}_fn());
-{{/is_list}}
-{{^is_list}}
- is_valid = ari_validate_{{c_name}}(
- response->message);
-{{/is_list}}
-{{/response_class}}
- } else {
- ast_log(LOG_ERROR, "Invalid error response %d for {{path}}\n", code);
- is_valid = 0;
- }
- }
-
- if (!is_valid) {
- ast_log(LOG_ERROR, "Response validation failed for {{path}}\n");
- stasis_http_response_error(response, 500,
- "Internal Server Error", "Response validation failed");
- }
-#endif /* AST_DEVMODE */
-}
-{{/is_req}}
-{{#is_websocket}}
-static void stasis_http_{{c_nickname}}_ws_cb(struct ast_websocket *ws_session,
- struct ast_variable *get_params, struct ast_variable *headers)
-{
- RAII_VAR(struct ast_websocket *, s, ws_session, ast_websocket_unref);
- RAII_VAR(struct ari_websocket_session *, session, NULL, ao2_cleanup);
-{{#has_path_parameters}}
- /* 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
- * just punt. */
- struct ast_variable *path_vars = NULL;
-{{/has_path_parameters}}
-{{> param_parsing}}
-#if defined(AST_DEVMODE)
- session = ari_websocket_session_create(ws_session,
- ari_validate_{{response_class.c_name}}_fn());
-#else
- session = ari_websocket_session_create(ws_session, NULL);
-#endif
- if (!session) {
- ast_log(LOG_ERROR, "Failed to create ARI session\n");
- return;
- }
- ari_websocket_{{c_nickname}}(session, headers, &args);
-}
-{{/is_websocket}}
-{{/operations}}
-{{/apis}}
-
-{{! The rest_handler partial expands to the tree of stasis_rest_handlers }}
-{{#root_path}}
-{{> rest_handler}}
-{{/root_path}}
-
-static int load_module(void)
-{
- int res = 0;
-{{#apis}}
-{{#has_websocket}}
- {{full_name}}.ws_server = ast_websocket_server_create();
- if (!{{full_name}}.ws_server) {
- return AST_MODULE_LOAD_FAILURE;
- }
-{{/has_websocket}}
-{{#operations}}
-{{#is_websocket}}
- res |= ast_websocket_server_add_protocol({{full_name}}.ws_server,
- "{{websocket_protocol}}", stasis_http_{{c_nickname}}_ws_cb);
-{{/is_websocket}}
-{{/operations}}
-{{/apis}}
- stasis_app_ref();
- res |= stasis_http_add_handler(&{{root_full_name}});
- return res;
-}
-
-static int unload_module(void)
-{
- stasis_http_remove_handler(&{{root_full_name}});
-{{#apis}}
-{{#has_websocket}}
- ao2_cleanup({{full_name}}.ws_server);
- {{full_name}}.ws_server = NULL;
-{{/has_websocket}}
-{{/apis}}
- stasis_app_unref();
- return 0;
-}
-
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "RESTful API module - {{{description}}}",
- .load = load_module,
- .unload = unload_module,
- .nonoptreq = "res_stasis_http,res_stasis",
- );
-{{/api_declaration}}