@@ -60,10 +60,21 @@ func TestDeleteQueryParamDoesNotWorkWithRegexWithADash(t *testing.T) {
60
60
expected := "x-live-preview=1"
61
61
previous := "test=1&x-live-preview=1"
62
62
63
-
64
63
assertQueryModificationHelper (t , cfg , previous , expected , "" )
65
64
}
66
65
66
+ func TestItSendsTheHeader (t * testing.T ) {
67
+ cfg := traefik_remove_query_parameters_by_regex .CreateConfig ()
68
+ cfg .Type = "deleteexcept"
69
+ cfg .AllowedValuesRegex = "(testing|x-live-preview)"
70
+ cfg .ExceptURIRegex = "(qontrol)"
71
+ cfg .AddOriginalHostnameHeader = true
72
+ headerValue := "http://localhost?test=1&x-live-preview=1"
73
+ previous := "test=1&x-live-preview=1"
74
+
75
+ assertHeaderValue (t , cfg , previous , headerValue )
76
+ }
77
+
67
78
func TestErrorInvalidType (t * testing.T ) {
68
79
cfg := traefik_remove_query_parameters_by_regex .CreateConfig ()
69
80
cfg .Type = "bla"
@@ -117,3 +128,20 @@ func assertQueryModificationHelper(t *testing.T, cfg *traefik_remove_query_param
117
128
t .Errorf ("Expected %s, got %s" , expected , req .URL .Query ().Encode ())
118
129
}
119
130
}
131
+
132
+ func assertHeaderValue (t * testing.T , cfg * traefik_remove_query_parameters_by_regex.Config , previous , expectedHeaderValue string ) {
133
+ t .Helper ()
134
+ handler , recorder , req , err := createReqAndRecorder (cfg )
135
+ if err != nil {
136
+ t .Fatal (err )
137
+ return
138
+ }
139
+ req .URL .RawQuery = previous
140
+ handler .ServeHTTP (recorder , req )
141
+
142
+ header := req .Header .Get ("Plugin-Original-Uri" )
143
+
144
+ if header != expectedHeaderValue {
145
+ t .Errorf ("Expected %s, got %s" , expectedHeaderValue , header )
146
+ }
147
+ }
0 commit comments