mirror of
https://github.com/caddyserver/caddy.git
synced 2024-11-25 09:40:13 +08:00
Fix up matchers tests and take care of TODO in rewrite
This commit is contained in:
parent
9d54f655aa
commit
67d32e6779
|
@ -240,10 +240,10 @@ func TestPathREMatcher(t *testing.T) {
|
|||
}
|
||||
|
||||
for key, expectVal := range tc.expectRepl {
|
||||
placeholder := fmt.Sprintf("{matchers.path_regexp.%s}", key)
|
||||
placeholder := fmt.Sprintf("{http.matchers.path_regexp.%s}", key)
|
||||
actualVal := repl.ReplaceAll(placeholder, "<empty>")
|
||||
if actualVal != expectVal {
|
||||
t.Errorf("Test %d [%v]: Expected placeholder {matchers.path_regexp.%s} to be '%s' but got '%s'",
|
||||
t.Errorf("Test %d [%v]: Expected placeholder {http.matchers.path_regexp.%s} to be '%s' but got '%s'",
|
||||
i, tc.match.Pattern, key, expectVal, actualVal)
|
||||
continue
|
||||
}
|
||||
|
@ -358,10 +358,10 @@ func TestHeaderREMatcher(t *testing.T) {
|
|||
}
|
||||
|
||||
for key, expectVal := range tc.expectRepl {
|
||||
placeholder := fmt.Sprintf("{matchers.header_regexp.%s}", key)
|
||||
placeholder := fmt.Sprintf("{http.matchers.header_regexp.%s}", key)
|
||||
actualVal := repl.ReplaceAll(placeholder, "<empty>")
|
||||
if actualVal != expectVal {
|
||||
t.Errorf("Test %d [%v]: Expected placeholder {matchers.header_regexp.%s} to be '%s' but got '%s'",
|
||||
t.Errorf("Test %d [%v]: Expected placeholder {http.matchers.header_regexp.%s} to be '%s' but got '%s'",
|
||||
i, tc.match, key, expectVal, actualVal)
|
||||
continue
|
||||
}
|
||||
|
|
|
@ -48,16 +48,17 @@ func addHTTPVarsToReplacer(repl caddy2.Replacer, req *http.Request, w http.Respo
|
|||
dir, _ := path.Split(req.URL.Path)
|
||||
return dir
|
||||
}()
|
||||
m["http.request.uri.query"] = req.URL.RawQuery
|
||||
|
||||
for param, vals := range req.URL.Query() {
|
||||
m["http.request.uri.query."+param] = strings.Join(vals, ",")
|
||||
}
|
||||
for field, vals := range req.Header {
|
||||
m["http.request.header."+strings.ToLower(field)] = strings.Join(vals, ",")
|
||||
}
|
||||
for _, cookie := range req.Cookies() {
|
||||
m["http.request.cookie."+cookie.Name] = cookie.Value
|
||||
}
|
||||
for param, vals := range req.URL.Query() {
|
||||
m["http.request.uri.query."+param] = strings.Join(vals, ",")
|
||||
}
|
||||
|
||||
hostLabels := strings.Split(req.Host, ".")
|
||||
for i, label := range hostLabels {
|
||||
|
|
|
@ -36,17 +36,15 @@ func (rewr Rewrite) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddy
|
|||
}
|
||||
|
||||
if rewr.URI != "" {
|
||||
// TODO: clean this all up, I don't think it's right
|
||||
|
||||
oldURI := r.RequestURI
|
||||
newURI := repl.ReplaceAll(rewr.URI, "")
|
||||
|
||||
u, err := url.Parse(newURI)
|
||||
if err != nil {
|
||||
return caddyhttp.Error(http.StatusInternalServerError, err)
|
||||
}
|
||||
|
||||
r.RequestURI = newURI
|
||||
|
||||
r.URL.Path = u.Path
|
||||
if u.RawQuery != "" {
|
||||
r.URL.RawQuery = u.RawQuery
|
||||
|
|
Loading…
Reference in New Issue
Block a user