FS-3439 --resolve
This commit is contained in:
parent
4b1bb61fff
commit
9e399c19e3
|
@ -1863,7 +1863,12 @@ char *sofia_glue_get_extra_headers(switch_channel_t *channel, const char *prefix
|
|||
char *extra_headers = NULL;
|
||||
switch_stream_handle_t stream = { 0 };
|
||||
switch_event_header_t *hi = NULL;
|
||||
const char *exclude_regex = NULL;
|
||||
switch_regex_t *re = NULL;
|
||||
int ovector[30] = {0};
|
||||
int proceed;
|
||||
|
||||
exclude_regex = switch_channel_get_variable(channel, "exclude_outgoing_extra_header");
|
||||
SWITCH_STANDARD_STREAM(stream);
|
||||
if ((hi = switch_channel_variable_first(channel))) {
|
||||
for (; hi; hi = hi->next) {
|
||||
|
@ -1871,8 +1876,13 @@ char *sofia_glue_get_extra_headers(switch_channel_t *channel, const char *prefix
|
|||
char *value = (char *) hi->value;
|
||||
|
||||
if (!strncasecmp(name, prefix, strlen(prefix))) {
|
||||
const char *hname = name + strlen(prefix);
|
||||
stream.write_function(&stream, "%s: %s\r\n", hname, value);
|
||||
if ( !exclude_regex || !(proceed = switch_regex_perform(name, exclude_regex, &re, ovector, sizeof(ovector) / sizeof(ovector[0])))) {
|
||||
const char *hname = name + strlen(prefix);
|
||||
stream.write_function(&stream, "%s: %s\r\n", hname, value);
|
||||
switch_regex_safe_free(re);
|
||||
} else {
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Ignoring Extra Header [%s] , matches exclude_outgoing_extra_header [%s]\n", name, exclude_regex);
|
||||
}
|
||||
}
|
||||
}
|
||||
switch_channel_variable_last(channel);
|
||||
|
|
Loading…
Reference in New Issue