@@ -16,6 +16,7 @@ var _ = Describe("Rewrite", func() {
1616 rewriteTarget string
1717 requestTarget string
1818 expectedRequestURI string
19+ expectedURLPath string
1920 }
2021
2122 DescribeTable("should rewrite the request path",
@@ -24,36 +25,43 @@ var _ = Describe("Rewrite", func() {
2425 rw := httptest.NewRecorder()
2526
2627 var gotRequestURI string
28+ var gotRequestURLPath string
2729 handler := newRewritePath(in.rewriteRegex, in.rewriteTarget, &pagewriter.WriterFuncs{})(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
2830 gotRequestURI = r.RequestURI
31+ gotRequestURLPath = r.URL.Path
2932 }))
3033 handler.ServeHTTP(rw, req)
3134
3235 Expect(gotRequestURI).To(Equal(in.expectedRequestURI))
36+ Expect(gotRequestURLPath).To(Equal(in.expectedURLPath))
3337 },
3438 Entry("when the path matches the regexp", rewritePathTableInput{
3539 rewriteRegex: regexp.MustCompile("^/http/(.*)"),
3640 rewriteTarget: "/$1",
3741 requestTarget: "http://example.com/http/foo/bar",
3842 expectedRequestURI: "http://example.com/foo/bar",
43+ expectedURLPath: "/foo/bar",
3944 }),
4045 Entry("when the path does not match the regexp", rewritePathTableInput{
4146 rewriteRegex: regexp.MustCompile("^/http/(.*)"),
4247 rewriteTarget: "/$1",
4348 requestTarget: "https://example.com/https/foo/bar",
4449 expectedRequestURI: "https://example.com/https/foo/bar",
50+ expectedURLPath: "/https/foo/bar",
4551 }),
4652 Entry("when the regexp is not anchored", rewritePathTableInput{
4753 rewriteRegex: regexp.MustCompile("/http/(.*)"),
4854 rewriteTarget: "/$1",
4955 requestTarget: "http://example.com/bar/http/foo/bar",
5056 expectedRequestURI: "http://example.com/bar/foo/bar",
57+ expectedURLPath: "/bar/foo/bar",
5158 }),
5259 Entry("when the regexp is rewriting to a query", rewritePathTableInput{
5360 rewriteRegex: regexp.MustCompile(`/articles/([a-z0-9\-]*)`),
5461 rewriteTarget: "/article?id=$1",
5562 requestTarget: "http://example.com/articles/blog-2021-01-01",
5663 expectedRequestURI: "http://example.com/article?id=blog-2021-01-01",
64+ expectedURLPath: "/article",
5765 }),
5866 )
5967})