header = ALLOC(sizeof(*header));
esl_assert(header);
+ if ((event->flags & EF_UNIQ_HEADERS)) {
+ esl_event_del_header(event, header_name);
+ }
+
memset(header, 0, sizeof(*header));
header->name = DUP(header_name);
/*! unique key */
unsigned long key;
struct switch_event *next;
+ int flags;
};
+typedef enum {
+ EF_UNIQ_HEADERS = (1 << 0)
+} switch_event_flag_t;
+
+
struct switch_event_node;
#define SWITCH_EVENT_SUBCLASS_ANY NULL
memset(*event, 0, sizeof(switch_event_t));
+ if (event_id == SWITCH_EVENT_REQUEST_PARAMS) {
+ (*event)->flags |= EF_UNIQ_HEADERS;
+ }
+
if (event_id != SWITCH_EVENT_CLONE) {
(*event)->event_id = event_id;
switch_event_prep_for_delivery_detailed(file, func, line, *event);
}
#endif
+ if (switch_test_flag(event, EF_UNIQ_HEADERS)) {
+ switch_event_del_header(event, header_name);
+ }
+
memset(header, 0, sizeof(*header));
header->name = DUP(header_name);