Commit 92ef0fa9 authored by Geoff Simmons's avatar Geoff Simmons

Add the EXACT selector.

parent 99818aae
...@@ -161,7 +161,7 @@ INT xset.which(ENUM select) ...@@ -161,7 +161,7 @@ INT xset.which(ENUM select)
:: ::
INT xset.which( INT xset.which(
ENUM {UNIQUE, FIRST, LAST, SHORTEST, LONGEST} select=UNIQUE ENUM {UNIQUE, EXACT, FIRST, LAST, SHORTEST, LONGEST} select=UNIQUE
) )
Returns ... Returns ...
......
...@@ -278,6 +278,10 @@ pt_search(const struct pt_y * const restrict y, ...@@ -278,6 +278,10 @@ pt_search(const struct pt_y * const restrict y,
match->min = y->idx; match->min = y->idx;
if (y->idx > match->max) if (y->idx > match->max)
match->max = y->idx; match->max = y->idx;
if (*c == '\0') {
match->exact = y->idx;
return (0);
}
} }
if (i < y->len) if (i < y->len)
...@@ -306,6 +310,7 @@ PT_Prefixes(const struct pt_y * const restrict root, ...@@ -306,6 +310,7 @@ PT_Prefixes(const struct pt_y * const restrict root,
match->n = 0; match->n = 0;
match->min = UINT_MAX; match->min = UINT_MAX;
match->max = 0; match->max = 0;
match->exact = UINT_MAX;
return (pt_search(root, strings, (unsigned char *)subject, match)); return (pt_search(root, strings, (unsigned char *)subject, match));
} }
......
...@@ -40,6 +40,7 @@ struct match_data { ...@@ -40,6 +40,7 @@ struct match_data {
unsigned *indices; unsigned *indices;
unsigned limit; unsigned limit;
unsigned n; unsigned n;
unsigned exact;
unsigned min; unsigned min;
unsigned max; unsigned max;
}; };
......
...@@ -159,6 +159,7 @@ varnish v1 -vcl { ...@@ -159,6 +159,7 @@ varnish v1 -vcl {
set resp.http.N = s.nmatches(); set resp.http.N = s.nmatches();
set resp.http.Which = s.which(); set resp.http.Which = s.which();
set resp.http.Which-Unique = s.which(select=UNIQUE); set resp.http.Which-Unique = s.which(select=UNIQUE);
set resp.http.Which-Exact = s.which(select=EXACT);
set resp.http.Which-First = s.which(select=FIRST); set resp.http.Which-First = s.which(select=FIRST);
set resp.http.Which-Last = s.which(select=LAST); set resp.http.Which-Last = s.which(select=LAST);
set resp.http.Which-Shortest = s.which(select=SHORTEST); set resp.http.Which-Shortest = s.which(select=SHORTEST);
...@@ -180,6 +181,7 @@ client c1 { ...@@ -180,6 +181,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "4" expect resp.http.Which == "4"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "4"
expect resp.http.Which-First == "4" expect resp.http.Which-First == "4"
expect resp.http.Which-Last == "4" expect resp.http.Which-Last == "4"
expect resp.http.Which-Shortest == "4" expect resp.http.Which-Shortest == "4"
...@@ -196,6 +198,7 @@ client c1 { ...@@ -196,6 +198,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "3"
expect resp.http.Which-First == "3" expect resp.http.Which-First == "3"
expect resp.http.Which-Last == "4" expect resp.http.Which-Last == "4"
expect resp.http.Which-Shortest == "4" expect resp.http.Which-Shortest == "4"
...@@ -212,6 +215,7 @@ client c1 { ...@@ -212,6 +215,7 @@ client c1 {
expect resp.http.N == "3" expect resp.http.N == "3"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "2"
expect resp.http.Which-First == "2" expect resp.http.Which-First == "2"
expect resp.http.Which-Last == "4" expect resp.http.Which-Last == "4"
expect resp.http.Which-Shortest == "4" expect resp.http.Which-Shortest == "4"
...@@ -228,6 +232,7 @@ client c1 { ...@@ -228,6 +232,7 @@ client c1 {
expect resp.http.N == "4" expect resp.http.N == "4"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "1"
expect resp.http.Which-First == "1" expect resp.http.Which-First == "1"
expect resp.http.Which-Last == "4" expect resp.http.Which-Last == "4"
expect resp.http.Which-Shortest == "4" expect resp.http.Which-Shortest == "4"
...@@ -244,6 +249,7 @@ client c1 { ...@@ -244,6 +249,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -260,6 +266,7 @@ client c1 { ...@@ -260,6 +266,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -276,6 +283,7 @@ client c1 { ...@@ -276,6 +283,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -292,6 +300,7 @@ client c1 { ...@@ -292,6 +300,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -327,6 +336,7 @@ varnish v1 -vcl { ...@@ -327,6 +336,7 @@ varnish v1 -vcl {
set resp.http.N = s.nmatches(); set resp.http.N = s.nmatches();
set resp.http.Which = s.which(); set resp.http.Which = s.which();
set resp.http.Which-Unique = s.which(select=UNIQUE); set resp.http.Which-Unique = s.which(select=UNIQUE);
set resp.http.Which-Exact = s.which(select=EXACT);
set resp.http.Which-First = s.which(select=FIRST); set resp.http.Which-First = s.which(select=FIRST);
set resp.http.Which-Last = s.which(select=LAST); set resp.http.Which-Last = s.which(select=LAST);
set resp.http.Which-Shortest = s.which(select=SHORTEST); set resp.http.Which-Shortest = s.which(select=SHORTEST);
...@@ -348,6 +358,7 @@ client c1 { ...@@ -348,6 +358,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "1" expect resp.http.Which == "1"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "1"
expect resp.http.Which-First == "1" expect resp.http.Which-First == "1"
expect resp.http.Which-Last == "1" expect resp.http.Which-Last == "1"
expect resp.http.Which-Shortest == resp.http.Which-First expect resp.http.Which-Shortest == resp.http.Which-First
...@@ -364,6 +375,7 @@ client c1 { ...@@ -364,6 +375,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "2"
expect resp.http.Which-First == "1" expect resp.http.Which-First == "1"
expect resp.http.Which-Last == "2" expect resp.http.Which-Last == "2"
expect resp.http.Which-Shortest == resp.http.Which-First expect resp.http.Which-Shortest == resp.http.Which-First
...@@ -380,6 +392,7 @@ client c1 { ...@@ -380,6 +392,7 @@ client c1 {
expect resp.http.N == "3" expect resp.http.N == "3"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "3"
expect resp.http.Which-First == "1" expect resp.http.Which-First == "1"
expect resp.http.Which-Last == "3" expect resp.http.Which-Last == "3"
expect resp.http.Which-Shortest == resp.http.Which-First expect resp.http.Which-Shortest == resp.http.Which-First
...@@ -396,6 +409,7 @@ client c1 { ...@@ -396,6 +409,7 @@ client c1 {
expect resp.http.N == "4" expect resp.http.N == "4"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "4"
expect resp.http.Which-First == "1" expect resp.http.Which-First == "1"
expect resp.http.Which-Last == "4" expect resp.http.Which-Last == "4"
expect resp.http.Which-Shortest == resp.http.Which-First expect resp.http.Which-Shortest == resp.http.Which-First
...@@ -428,6 +442,7 @@ client c1 { ...@@ -428,6 +442,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -444,6 +459,7 @@ client c1 { ...@@ -444,6 +459,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -460,6 +476,7 @@ client c1 { ...@@ -460,6 +476,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -573,6 +590,7 @@ varnish v1 -vcl { ...@@ -573,6 +590,7 @@ varnish v1 -vcl {
set resp.http.N = s.nmatches(); set resp.http.N = s.nmatches();
set resp.http.Which = s.which(); set resp.http.Which = s.which();
set resp.http.Which-Unique = s.which(select=UNIQUE); set resp.http.Which-Unique = s.which(select=UNIQUE);
set resp.http.Which-Exact = s.which(select=EXACT);
set resp.http.Which-First = s.which(select=FIRST); set resp.http.Which-First = s.which(select=FIRST);
set resp.http.Which-Last = s.which(select=LAST); set resp.http.Which-Last = s.which(select=LAST);
set resp.http.Which-Shortest = s.which(select=SHORTEST); set resp.http.Which-Shortest = s.which(select=SHORTEST);
...@@ -589,6 +607,7 @@ client c1 { ...@@ -589,6 +607,7 @@ client c1 {
expect resp.http.N == "3" expect resp.http.N == "3"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "3"
expect resp.http.Which-First == "1" expect resp.http.Which-First == "1"
expect resp.http.Which-Last == "5" expect resp.http.Which-Last == "5"
expect resp.http.Which-Shortest == "5" expect resp.http.Which-Shortest == "5"
...@@ -601,6 +620,7 @@ client c1 { ...@@ -601,6 +620,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "1"
expect resp.http.Which-First == "1" expect resp.http.Which-First == "1"
expect resp.http.Which-Last == "5" expect resp.http.Which-Last == "5"
expect resp.http.Which-Shortest == "5" expect resp.http.Which-Shortest == "5"
...@@ -613,6 +633,7 @@ client c1 { ...@@ -613,6 +633,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "5" expect resp.http.Which == "5"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "5"
expect resp.http.Which-First == "5" expect resp.http.Which-First == "5"
expect resp.http.Which-Last == "5" expect resp.http.Which-Last == "5"
expect resp.http.Which-Shortest == "5" expect resp.http.Which-Shortest == "5"
...@@ -625,6 +646,7 @@ client c1 { ...@@ -625,6 +646,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "5" expect resp.http.Which == "5"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "5" expect resp.http.Which-First == "5"
expect resp.http.Which-Last == "5" expect resp.http.Which-Last == "5"
expect resp.http.Which-Shortest == "5" expect resp.http.Which-Shortest == "5"
...@@ -637,6 +659,7 @@ client c1 { ...@@ -637,6 +659,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -649,6 +672,7 @@ client c1 { ...@@ -649,6 +672,7 @@ client c1 {
expect resp.http.N == "3" expect resp.http.N == "3"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "10"
expect resp.http.Which-First == "10" expect resp.http.Which-First == "10"
expect resp.http.Which-Last == "14" expect resp.http.Which-Last == "14"
expect resp.http.Which-Shortest == "13" expect resp.http.Which-Shortest == "13"
...@@ -661,6 +685,7 @@ client c1 { ...@@ -661,6 +685,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "14"
expect resp.http.Which-First == "13" expect resp.http.Which-First == "13"
expect resp.http.Which-Last == "14" expect resp.http.Which-Last == "14"
expect resp.http.Which-Shortest == "13" expect resp.http.Which-Shortest == "13"
...@@ -673,6 +698,7 @@ client c1 { ...@@ -673,6 +698,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "13" expect resp.http.Which == "13"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "13"
expect resp.http.Which-First == "13" expect resp.http.Which-First == "13"
expect resp.http.Which-Last == "13" expect resp.http.Which-Last == "13"
expect resp.http.Which-Shortest == "13" expect resp.http.Which-Shortest == "13"
...@@ -685,6 +711,7 @@ client c1 { ...@@ -685,6 +711,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "13" expect resp.http.Which-First == "13"
expect resp.http.Which-Last == "14" expect resp.http.Which-Last == "14"
expect resp.http.Which-Shortest == "13" expect resp.http.Which-Shortest == "13"
...@@ -697,6 +724,7 @@ client c1 { ...@@ -697,6 +724,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -709,6 +737,7 @@ client c1 { ...@@ -709,6 +737,7 @@ client c1 {
expect resp.http.N == "4" expect resp.http.N == "4"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "17"
expect resp.http.Which-First == "17" expect resp.http.Which-First == "17"
expect resp.http.Which-Last == "28" expect resp.http.Which-Last == "28"
expect resp.http.Which-Shortest == "27" expect resp.http.Which-Shortest == "27"
...@@ -721,6 +750,7 @@ client c1 { ...@@ -721,6 +750,7 @@ client c1 {
expect resp.http.N == "3" expect resp.http.N == "3"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "28"
expect resp.http.Which-First == "20" expect resp.http.Which-First == "20"
expect resp.http.Which-Last == "28" expect resp.http.Which-Last == "28"
expect resp.http.Which-Shortest == "27" expect resp.http.Which-Shortest == "27"
...@@ -733,6 +763,7 @@ client c1 { ...@@ -733,6 +763,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "20"
expect resp.http.Which-First == "20" expect resp.http.Which-First == "20"
expect resp.http.Which-Last == "27" expect resp.http.Which-Last == "27"
expect resp.http.Which-Shortest == "27" expect resp.http.Which-Shortest == "27"
...@@ -745,6 +776,7 @@ client c1 { ...@@ -745,6 +776,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "27" expect resp.http.Which == "27"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "27"
expect resp.http.Which-First == "27" expect resp.http.Which-First == "27"
expect resp.http.Which-Last == "27" expect resp.http.Which-Last == "27"
expect resp.http.Which-Shortest == "27" expect resp.http.Which-Shortest == "27"
...@@ -757,6 +789,7 @@ client c1 { ...@@ -757,6 +789,7 @@ client c1 {
expect resp.http.N == "4" expect resp.http.N == "4"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "17" expect resp.http.Which-First == "17"
expect resp.http.Which-Last == "28" expect resp.http.Which-Last == "28"
expect resp.http.Which-Shortest == "27" expect resp.http.Which-Shortest == "27"
...@@ -769,6 +802,7 @@ client c1 { ...@@ -769,6 +802,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -781,6 +815,7 @@ client c1 { ...@@ -781,6 +815,7 @@ client c1 {
expect resp.http.N == "3" expect resp.http.N == "3"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "39"
expect resp.http.Which-First == "38" expect resp.http.Which-First == "38"
expect resp.http.Which-Last == "40" expect resp.http.Which-Last == "40"
expect resp.http.Which-Shortest == "38" expect resp.http.Which-Shortest == "38"
...@@ -793,6 +828,7 @@ client c1 { ...@@ -793,6 +828,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "40"
expect resp.http.Which-First == "38" expect resp.http.Which-First == "38"
expect resp.http.Which-Last == "40" expect resp.http.Which-Last == "40"
expect resp.http.Which-Shortest == "38" expect resp.http.Which-Shortest == "38"
...@@ -805,6 +841,7 @@ client c1 { ...@@ -805,6 +841,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "38" expect resp.http.Which == "38"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "38"
expect resp.http.Which-First == "38" expect resp.http.Which-First == "38"
expect resp.http.Which-Last == "38" expect resp.http.Which-Last == "38"
expect resp.http.Which-Shortest == "38" expect resp.http.Which-Shortest == "38"
...@@ -817,6 +854,7 @@ client c1 { ...@@ -817,6 +854,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "33" expect resp.http.Which-First == "33"
expect resp.http.Which-Last == "38" expect resp.http.Which-Last == "38"
expect resp.http.Which-Shortest == "38" expect resp.http.Which-Shortest == "38"
...@@ -829,6 +867,7 @@ client c1 { ...@@ -829,6 +867,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "38" expect resp.http.Which == "38"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "38" expect resp.http.Which-First == "38"
expect resp.http.Which-Last == "38" expect resp.http.Which-Last == "38"
expect resp.http.Which-Shortest == "38" expect resp.http.Which-Shortest == "38"
...@@ -841,6 +880,7 @@ client c1 { ...@@ -841,6 +880,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "38" expect resp.http.Which == "38"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "38" expect resp.http.Which-First == "38"
expect resp.http.Which-Last == "38" expect resp.http.Which-Last == "38"
expect resp.http.Which-Shortest == "38" expect resp.http.Which-Shortest == "38"
...@@ -853,6 +893,7 @@ client c1 { ...@@ -853,6 +893,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -865,6 +906,7 @@ client c1 { ...@@ -865,6 +906,7 @@ client c1 {
expect resp.http.N == "3" expect resp.http.N == "3"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "61"
expect resp.http.Which-First == "56" expect resp.http.Which-First == "56"
expect resp.http.Which-Last == "62" expect resp.http.Which-Last == "62"
expect resp.http.Which-Shortest == "56" expect resp.http.Which-Shortest == "56"
...@@ -877,6 +919,7 @@ client c1 { ...@@ -877,6 +919,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "62"
expect resp.http.Which-First == "56" expect resp.http.Which-First == "56"
expect resp.http.Which-Last == "62" expect resp.http.Which-Last == "62"
expect resp.http.Which-Shortest == "56" expect resp.http.Which-Shortest == "56"
...@@ -889,6 +932,7 @@ client c1 { ...@@ -889,6 +932,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "56" expect resp.http.Which == "56"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "56"
expect resp.http.Which-First == "56" expect resp.http.Which-First == "56"
expect resp.http.Which-Last == "56" expect resp.http.Which-Last == "56"
expect resp.http.Which-Shortest == "56" expect resp.http.Which-Shortest == "56"
...@@ -901,6 +945,7 @@ client c1 { ...@@ -901,6 +945,7 @@ client c1 {
expect resp.http.N == "3" expect resp.http.N == "3"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "57"
expect resp.http.Which-First == "56" expect resp.http.Which-First == "56"
expect resp.http.Which-Last == "58" expect resp.http.Which-Last == "58"
expect resp.http.Which-Shortest == "56" expect resp.http.Which-Shortest == "56"
...@@ -913,6 +958,7 @@ client c1 { ...@@ -913,6 +958,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "58"
expect resp.http.Which-First == "56" expect resp.http.Which-First == "56"
expect resp.http.Which-Last == "58" expect resp.http.Which-Last == "58"
expect resp.http.Which-Shortest == "56" expect resp.http.Which-Shortest == "56"
...@@ -925,6 +971,7 @@ client c1 { ...@@ -925,6 +971,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "50" expect resp.http.Which-First == "50"
expect resp.http.Which-Last == "56" expect resp.http.Which-Last == "56"
expect resp.http.Which-Shortest == "56" expect resp.http.Which-Shortest == "56"
...@@ -937,6 +984,7 @@ client c1 { ...@@ -937,6 +984,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -949,6 +997,7 @@ client c1 { ...@@ -949,6 +997,7 @@ client c1 {
expect resp.http.N == "3" expect resp.http.N == "3"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "72"
expect resp.http.Which-First == "67" expect resp.http.Which-First == "67"
expect resp.http.Which-Last == "74" expect resp.http.Which-Last == "74"
expect resp.http.Which-Shortest == "74" expect resp.http.Which-Shortest == "74"
...@@ -961,6 +1010,7 @@ client c1 { ...@@ -961,6 +1010,7 @@ client c1 {
expect resp.http.N == "2" expect resp.http.N == "2"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "67"
expect resp.http.Which-First == "67" expect resp.http.Which-First == "67"
expect resp.http.Which-Last == "74" expect resp.http.Which-Last == "74"
expect resp.http.Which-Shortest == "74" expect resp.http.Which-Shortest == "74"
...@@ -973,6 +1023,7 @@ client c1 { ...@@ -973,6 +1023,7 @@ client c1 {
expect resp.http.N == "1" expect resp.http.N == "1"
expect resp.http.Which == "74" expect resp.http.Which == "74"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "74"
expect resp.http.Which-First == "74" expect resp.http.Which-First == "74"
expect resp.http.Which-Last == "74" expect resp.http.Which-Last == "74"
expect resp.http.Which-Shortest == "74" expect resp.http.Which-Shortest == "74"
...@@ -985,6 +1036,7 @@ client c1 { ...@@ -985,6 +1036,7 @@ client c1 {
expect resp.http.N == "3" expect resp.http.N == "3"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "65" expect resp.http.Which-First == "65"
expect resp.http.Which-Last == "74" expect resp.http.Which-Last == "74"
expect resp.http.Which-Shortest == "74" expect resp.http.Which-Shortest == "74"
...@@ -997,6 +1049,7 @@ client c1 { ...@@ -997,6 +1049,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1010,6 +1063,7 @@ client c1 { ...@@ -1010,6 +1063,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1022,6 +1076,7 @@ client c1 { ...@@ -1022,6 +1076,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1034,6 +1089,7 @@ client c1 { ...@@ -1034,6 +1089,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1046,6 +1102,7 @@ client c1 { ...@@ -1046,6 +1102,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1058,6 +1115,7 @@ client c1 { ...@@ -1058,6 +1115,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1070,6 +1128,7 @@ client c1 { ...@@ -1070,6 +1128,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1082,6 +1141,7 @@ client c1 { ...@@ -1082,6 +1141,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1094,6 +1154,7 @@ client c1 { ...@@ -1094,6 +1154,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1106,6 +1167,7 @@ client c1 { ...@@ -1106,6 +1167,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1118,6 +1180,7 @@ client c1 { ...@@ -1118,6 +1180,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1130,6 +1193,7 @@ client c1 { ...@@ -1130,6 +1193,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1142,6 +1206,7 @@ client c1 { ...@@ -1142,6 +1206,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1154,6 +1219,7 @@ client c1 { ...@@ -1154,6 +1219,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1166,6 +1232,7 @@ client c1 { ...@@ -1166,6 +1232,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1178,6 +1245,7 @@ client c1 { ...@@ -1178,6 +1245,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1190,6 +1258,7 @@ client c1 { ...@@ -1190,6 +1258,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1202,6 +1271,7 @@ client c1 { ...@@ -1202,6 +1271,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1214,6 +1284,7 @@ client c1 { ...@@ -1214,6 +1284,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1226,6 +1297,7 @@ client c1 { ...@@ -1226,6 +1297,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1238,6 +1310,7 @@ client c1 { ...@@ -1238,6 +1310,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1250,6 +1323,7 @@ client c1 { ...@@ -1250,6 +1323,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1262,6 +1336,7 @@ client c1 { ...@@ -1262,6 +1336,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1274,6 +1349,7 @@ client c1 { ...@@ -1274,6 +1349,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1286,6 +1362,7 @@ client c1 { ...@@ -1286,6 +1362,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1298,6 +1375,7 @@ client c1 { ...@@ -1298,6 +1375,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1310,6 +1388,7 @@ client c1 { ...@@ -1310,6 +1388,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1322,6 +1401,7 @@ client c1 { ...@@ -1322,6 +1401,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1334,6 +1414,7 @@ client c1 { ...@@ -1334,6 +1414,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1346,6 +1427,7 @@ client c1 { ...@@ -1346,6 +1427,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
...@@ -1358,6 +1440,7 @@ client c1 { ...@@ -1358,6 +1440,7 @@ client c1 {
expect resp.http.N == "0" expect resp.http.N == "0"
expect resp.http.Which == "0" expect resp.http.Which == "0"
expect resp.http.Which-Unique == resp.http.Which expect resp.http.Which-Unique == resp.http.Which
expect resp.http.Which-Exact == "0"
expect resp.http.Which-First == "0" expect resp.http.Which-First == "0"
expect resp.http.Which-Last == "0" expect resp.http.Which-Last == "0"
expect resp.http.Which-Shortest == "0" expect resp.http.Which-Shortest == "0"
......
...@@ -387,6 +387,8 @@ select(VRT_CTX, const struct match_data * const restrict match, ...@@ -387,6 +387,8 @@ select(VRT_CTX, const struct match_data * const restrict match,
} }
return match->indices[0]; return match->indices[0];
} }
if (selects == vmod_enum_EXACT)
return match->exact;
if (selects == vmod_enum_FIRST) if (selects == vmod_enum_FIRST)
return match->min; return match->min;
if (selects == vmod_enum_LAST) if (selects == vmod_enum_LAST)
......
...@@ -94,7 +94,8 @@ Example:: ...@@ -94,7 +94,8 @@ Example::
# ... # ...
} }
$Method INT .which(ENUM {UNIQUE, FIRST, LAST, SHORTEST, LONGEST} select=UNIQUE) $Method INT .which(ENUM {UNIQUE, EXACT, FIRST, LAST, SHORTEST, LONGEST}
select=UNIQUE)
Returns ... Returns ...
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment