[asterisk-commits] kpfleming: trunk r159629 - in /trunk: CHANGES main/manager.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Nov 26 15:09:59 CST 2008
Author: kpfleming
Date: Wed Nov 26 15:09:58 2008
New Revision: 159629
URL: http://svn.digium.com/view/asterisk?view=rev&rev=159629
Log:
add support for event suppression for AMI-over-HTTP
Modified:
trunk/CHANGES
trunk/main/manager.c
Modified: trunk/CHANGES
URL: http://svn.digium.com/view/asterisk/trunk/CHANGES?view=diff&rev=159629&r1=159628&r2=159629
==============================================================================
--- trunk/CHANGES (original)
+++ trunk/CHANGES Wed Nov 26 15:09:58 2008
@@ -77,6 +77,21 @@
which are interpreted as relative to the astvarlibdir setting in asterisk.conf.
* All deprecated CLI commands are removed from the sourcecode. They are now handled
by the new clialiases module. See cli_aliases.conf.sample file.
+
+Asterisk Manager Interface
+--------------------------
+ * When using the AMI over HTTP, you can now include a 'SuppressEvents' header (with
+ a non-empty value) in your request. If you do this, any pending AMI events will
+ *not* be included in the response to your request as they would normally, but
+ will be left in the event queue for the next request you make to retrieve. For
+ some applications, this will allow you to guarantee that you will only see
+ events in responses to 'WaitEvent' actions, and can better know when to expect them.
+ To know whether the Asterisk server supports this header or not, your client can
+ inspect the first response back from the server to see if it includes this header:
+
+ Pragma: SuppressEvents
+
+ If this is included, the server supports event suppression.
------------------------------------------------------------------------------
--- Functionality changes from Asterisk 1.6.0 to Asterisk 1.6.1 -------------
Modified: trunk/main/manager.c
URL: http://svn.digium.com/view/asterisk/trunk/main/manager.c?view=diff&rev=159629&r1=159628&r2=159629
==============================================================================
--- trunk/main/manager.c (original)
+++ trunk/main/manager.c Wed Nov 26 15:09:58 2008
@@ -2974,8 +2974,14 @@
}
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 @@
"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);
More information about the asterisk-commits
mailing list