*/
if (!(session = build_mansession(remote_address))) {
ast_http_request_close_on_completion(ser);
- ast_http_error(ser, 500, "Server Error", "Internal Server Error (out of memory)\n");
+ ast_http_error(ser, 500, "Server Error", "Internal Server Error (out of memory)");
return 0;
}
ao2_lock(session);
if (http_header == NULL || out == NULL) {
ast_http_request_close_on_completion(ser);
- ast_http_error(ser, 500, "Server Error", "Internal Server Error (ast_str_create() out of memory)\n");
+ ast_http_error(ser, 500, "Server Error", "Internal Server Error (ast_str_create() out of memory)");
goto generic_callback_out;
}
s.fd = mkstemp(template); /* create a temporary file for command output */
unlink(template);
if (s.fd <= -1) {
- ast_http_error(ser, 500, "Server Error", "Internal Server Error (mkstemp failed)\n");
+ ast_http_error(ser, 500, "Server Error", "Internal Server Error (mkstemp failed)");
goto generic_callback_out;
}
s.f = fdopen(s.fd, "w+");
if (!s.f) {
ast_log(LOG_WARNING, "HTTP Manager, fdopen failed: %s!\n", strerror(errno));
- ast_http_error(ser, 500, "Server Error", "Internal Server Error (fdopen failed)\n");
+ ast_http_error(ser, 500, "Server Error", "Internal Server Error (fdopen failed)");
close(s.fd);
goto generic_callback_out;
}
/* Digest found - parse */
if (ast_string_field_init(&d, 128)) {
ast_http_request_close_on_completion(ser);
- ast_http_error(ser, 500, "Server Error", "Internal Server Error (out of memory)\n");
+ ast_http_error(ser, 500, "Server Error", "Internal Server Error (out of memory)");
return 0;
}
AST_RWLIST_UNLOCK(&users);
ast_log(LOG_NOTICE, "%s failed to pass IP ACL as '%s'\n", ast_sockaddr_stringify_addr(&session->addr), d.username);
ast_http_request_close_on_completion(ser);
- ast_http_error(ser, 403, "Permission denied", "Permission denied\n");
+ ast_http_error(ser, 403, "Permission denied", "Permission denied");
return 0;
}
*/
if (!(session = build_mansession(remote_address))) {
ast_http_request_close_on_completion(ser);
- ast_http_error(ser, 500, "Server Error", "Internal Server Error (out of memory)\n");
+ ast_http_error(ser, 500, "Server Error", "Internal Server Error (out of memory)");
return 0;
}
ao2_lock(session);
s.fd = mkstemp(template); /* create a temporary file for command output */
unlink(template);
if (s.fd <= -1) {
- ast_http_error(ser, 500, "Server Error", "Internal Server Error (mkstemp failed)\n");
+ ast_http_error(ser, 500, "Server Error", "Internal Server Error (mkstemp failed)");
goto auth_callback_out;
}
s.f = fdopen(s.fd, "w+");
if (!s.f) {
ast_log(LOG_WARNING, "HTTP Manager, fdopen failed: %s!\n", strerror(errno));
- ast_http_error(ser, 500, "Server Error", "Internal Server Error (fdopen failed)\n");
+ ast_http_error(ser, 500, "Server Error", "Internal Server Error (fdopen failed)");
close(s.fd);
goto auth_callback_out;
}
out = ast_str_create(result_size * 2 + 512);
if (http_header == NULL || out == NULL) {
ast_http_request_close_on_completion(ser);
- ast_http_error(ser, 500, "Server Error", "Internal Server Error (ast_str_create() out of memory)\n");
+ ast_http_error(ser, 500, "Server Error", "Internal Server Error (ast_str_create() out of memory)");
close_mansession_file(&s);
goto auth_callback_out;
}
RAII_VAR(struct ast_str *, response_body, ast_str_create(256), ast_free);
RAII_VAR(struct ast_ari_conf_user *, user, NULL, ao2_cleanup);
struct ast_ari_response response = {};
- int ret = 0;
RAII_VAR(struct ast_variable *, post_vars, NULL, ast_variables_destroy);
if (!response_body) {
- return -1;
+ ast_http_request_close_on_completion(ser);
+ ast_http_error(ser, 500, "Server Error", "Out of memory");
+ return 0;
}
response.headers = ast_str_create(40);
if (!response.headers) {
- return -1;
+ ast_http_request_close_on_completion(ser);
+ ast_http_error(ser, 500, "Server Error", "Out of memory");
+ return 0;
}
conf = ast_ari_config_get();
if (!conf || !conf->general) {
ast_free(response.headers);
- return -1;
+ ast_http_request_close_on_completion(ser);
+ ast_http_error(ser, 500, "Server Error", "URI handler config missing");
+ return 0;
}
process_cors_request(headers, &response);
"Request body too large");
goto request_failed;
case ENOMEM:
+ ast_http_request_close_on_completion(ser);
ast_ari_response_error(&response, 500,
"Internal Server Error",
- "Error processing request");
+ "Out of memory");
goto request_failed;
case EIO:
ast_ari_response_error(&response, 400,
"WWW-Authenticate: Basic realm=\"%s\"\r\n",
conf->general->auth_realm);
} else if (!ast_fully_booted) {
+ ast_http_request_close_on_completion(ser);
ast_ari_response_error(&response, 503, "Service Unavailable", "Asterisk not booted");
} else if (user->read_only && method != AST_HTTP_GET && method != AST_HTTP_OPTIONS) {
ast_ari_response_error(&response, 403, "Forbidden", "Write access denied");
response.response_text = "Internal Server Error";
ast_str_set(&response_body, 0, "%s", "");
ast_str_set(&response.headers, 0, "%s", "");
- ret = -1;
}
}
response_body = NULL;
ast_json_unref(response.message);
- return ret;
+ return 0;
}
static struct ast_http_uri http_uri = {