aboutsummaryrefslogtreecommitdiffstats
path: root/main/manager.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-11-26 21:09:58 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-11-26 21:09:58 +0000
commit688dbc7fa761b7ac61393a0da9049465a84ded78 (patch)
treea23b63f95f89d44e282e7b0cda08095a2309b884 /main/manager.c
parent9d1803e2f7d3bbbdc768bd59a0b0b53a006191ff (diff)
add support for event suppression for AMI-over-HTTP
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@159629 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/manager.c')
-rw-r--r--main/manager.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/main/manager.c b/main/manager.c
index d2a76bd02..077fb013e 100644
--- a/main/manager.c
+++ b/main/manager.c
@@ -2974,8 +2974,14 @@ static int process_message(struct mansession *s, const struct message *m)
}
if (ret)
return ret;
- /* Once done with our message, deliver any pending events */
- return process_events(s);
+ /* Once done with our message, deliver any pending events unless the
+ requester doesn't want them as part of this response.
+ */
+ if (ast_strlen_zero(astman_get_header(m, "SuppressEvents"))) {
+ return process_events(s);
+ } else {
+ return ret;
+ }
}
/*!
@@ -3796,6 +3802,7 @@ static struct ast_str *generic_http_callback(enum output_format format,
"Content-type: text/%s\r\n"
"Cache-Control: no-cache;\r\n"
"Set-Cookie: mansession_id=\"%08x\"; Version=\"1\"; Max-Age=%d\r\n"
+ "Pragma: SuppressEvents\r\n"
"\r\n",
contenttype[format],
s->managerid, httptimeout);