diff --git a/core/AmUtils.cpp b/core/AmUtils.cpp index 90a20709..52d75899 100644 --- a/core/AmUtils.cpp +++ b/core/AmUtils.cpp @@ -810,6 +810,7 @@ string get_header_keyvalue_single(const string& param_hdr, const string& name) { switch (curr) { case ' ': // spaces before the key case '\t': + case ';': // semicolons before the key break; default: if (curr==name[0]) { diff --git a/core/tests/test_headers.cpp b/core/tests/test_headers.cpp index 6ee83d7e..51aab817 100644 --- a/core/tests/test_headers.cpp +++ b/core/tests/test_headers.cpp @@ -45,6 +45,7 @@ FCTMF_SUITE_BGN(test_headers) { fct_chk(get_header_keyvalue(getHeader("P-App-Param: product_id=1;productid=1;bla=blub ", "P-App-Param"), "product_id") == "1"); fct_chk(get_header_keyvalue(getHeader("P-App-Param: product_id=11;productid=1;bla=blub ", "P-App-Param"), "product_id") == "11"); + fct_chk(get_header_keyvalue(getHeader("P-App-Param: ;u=user;d=domain", "P-App-Param"), "u") == "user"); fct_chk(get_header_keyvalue(getHeader("P-My-Test: mykey=myval; myotherfunkykey=myval;andsomemore", "P-My-Test", true), "mykey") == "myval" );