From 7ed7f539b0283ab848c2fdecb5c2d844ed9e6ff5 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 9 Sep 2011 14:31:02 -0500 Subject: [PATCH] add optional format string after myevent --- .../mod_event_socket/mod_event_socket.c | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/mod/event_handlers/mod_event_socket/mod_event_socket.c b/src/mod/event_handlers/mod_event_socket/mod_event_socket.c index 37c238852c..aaf270cb26 100644 --- a/src/mod/event_handlers/mod_event_socket/mod_event_socket.c +++ b/src/mod/event_handlers/mod_event_socket/mod_event_socket.c @@ -1883,11 +1883,30 @@ static switch_status_t parse_command(listener_t *listener, switch_event_t **even char *uuid; if ((uuid = cmd + 9)) { + char *fmt; strip_cr(uuid); - + + if ((fmt = strchr(uuid, ' '))) { + *fmt++ = '\0'; + } + if (!(listener->session = switch_core_session_locate(uuid))) { - switch_snprintf(reply, reply_len, "-ERR invalid uuid"); - goto done; + if (fmt) { + switch_snprintf(reply, reply_len, "-ERR invalid uuid"); + goto done; + } else { + fmt = uuid; + } + } + + if ((fmt = strchr(uuid, ' '))) { + if (!strcasecmp(fmt, "xml")) { + listener->format = EVENT_FORMAT_XML; + } else if (!strcasecmp(fmt, "plain")) { + listener->format = EVENT_FORMAT_PLAIN; + } else if (!strcasecmp(fmt, "json")) { + listener->format = EVENT_FORMAT_JSON; + } } switch_set_flag_locked(listener, LFLAG_SESSION);