|
@@ -1956,6 +1956,20 @@ static int sr_kemi_hdr_insert_before(sip_msg_t *msg, str *txt, str *hname)
|
|
return 1;
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ *
|
|
|
|
+ */
|
|
|
|
+static int sr_kemi_hdr_rmappend(sip_msg_t *msg, str *hrm, str *hadd)
|
|
|
|
+{
|
|
|
|
+ int ret;
|
|
|
|
+
|
|
|
|
+ ret = sr_kemi_hdr_remove(msg, hrm);
|
|
|
|
+ if(ret<0) {
|
|
|
|
+ return ret;
|
|
|
|
+ }
|
|
|
|
+ return sr_kemi_hdr_append(msg, hadd);
|
|
|
|
+}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
*
|
|
*
|
|
*/
|
|
*/
|
|
@@ -2089,6 +2103,11 @@ static sr_kemi_t _sr_kemi_hdr[] = {
|
|
{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
|
|
{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
|
|
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
|
|
SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
|
|
},
|
|
},
|
|
|
|
+ { str_init("hdr"), str_init("rmappend"),
|
|
|
|
+ SR_KEMIP_INT, sr_kemi_hdr_rmappend,
|
|
|
|
+ { SR_KEMIP_STR, SR_KEMIP_STR, SR_KEMIP_NONE,
|
|
|
|
+ SR_KEMIP_NONE, SR_KEMIP_NONE, SR_KEMIP_NONE }
|
|
|
|
+ },
|
|
{ str_init("hdr"), str_init("is_present"),
|
|
{ str_init("hdr"), str_init("is_present"),
|
|
SR_KEMIP_INT, sr_kemi_hdr_is_present,
|
|
SR_KEMIP_INT, sr_kemi_hdr_is_present,
|
|
{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
|
|
{ SR_KEMIP_STR, SR_KEMIP_NONE, SR_KEMIP_NONE,
|