From c3e06e178f2ea82243abd7ce26c7a6d3f19f31ad Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 25 Aug 2021 17:43:21 -0700 Subject: feat(route): redirect route does full redirect --- handler.go | 4 ++-- route.go | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/handler.go b/handler.go index 99a7a2f..64be725 100644 --- a/handler.go +++ b/handler.go @@ -32,9 +32,9 @@ func errors() { func meta() { createFileRoute("/favicon.txt", "favicon.txt") createFileRoute("/favicon.ico", "favicon.ico") - createFileRoute("/robots.txt", "robots.txt") + createFileRoute("/robots.txt", "robots.txt") } func redirect() { - createRedirectRoute("/x/*", "/proxy") + createRedirectRoute("/x/*", "/proxy", true) } diff --git a/route.go b/route.go index 8bfe52a..bfdd649 100644 --- a/route.go +++ b/route.go @@ -154,12 +154,12 @@ func legacySupport(baseRoute string) { }) } -func createRedirectRoute(route string, redirectRoute string) { - // TODO: Redirect with path - // - // Example: - // /x/something -> /proxy/something instead of /x/something -> /proxy +func createRedirectRoute(route string, redirectRoute string, mask bool) { g.Handle(route, func(c gig.Context) error { - return c.NoContent(gig.StatusRedirectPermanent, redirectRoute) + if mask { + return c.NoContent(gig.StatusRedirectPermanent, redirectRoute+c.URL().Path[2:]) // - /x + } else { + return c.NoContent(gig.StatusRedirectPermanent, redirectRoute) + } }) } -- cgit v1.2.3