disable duplicate headers on request param events
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14909 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
119ee4e0ad
commit
d2b797fe54
|
@ -299,6 +299,10 @@ static esl_status_t esl_event_base_add_header(esl_event_t *event, esl_stack_t st
|
|||
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);
|
||||
|
|
|
@ -160,8 +160,12 @@ struct esl_event {
|
|||
/*! unique key */
|
||||
unsigned long key;
|
||||
struct esl_event *next;
|
||||
int flags;
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
EF_UNIQ_HEADERS = (1 << 0)
|
||||
} esl_event_flag_t;
|
||||
|
||||
|
||||
#define ESL_EVENT_SUBCLASS_ANY NULL
|
||||
|
|
|
@ -95,8 +95,14 @@ struct switch_event {
|
|||
/*! 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
|
||||
|
|
|
@ -635,6 +635,10 @@ SWITCH_DECLARE(switch_status_t) switch_event_create_subclass_detailed(const char
|
|||
|
||||
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);
|
||||
|
@ -742,6 +746,10 @@ switch_status_t switch_event_base_add_header(switch_event_t *event, switch_stack
|
|||
}
|
||||
#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);
|
||||
|
|
Loading…
Reference in New Issue