mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-21 18:13:29 +00:00
Fix incoming URL for requests that were proxied (#3127)
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"gitbook-v2": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix incoming URL for requests that were proxied
|
||||||
@@ -148,18 +148,21 @@ async function serveSiteRoutes(requestURL: URL, request: NextRequest) {
|
|||||||
// correctly generated when the site is proxied. e.g. https://proxy.gitbook.com/site/siteId/...
|
// correctly generated when the site is proxied. e.g. https://proxy.gitbook.com/site/siteId/...
|
||||||
const siteCanonicalURL = new URL(siteURLData.canonicalUrl);
|
const siteCanonicalURL = new URL(siteURLData.canonicalUrl);
|
||||||
|
|
||||||
|
let incomingURL = requestURL;
|
||||||
|
// For cases where the site is proxied, we use the canonical URL
|
||||||
|
// as the incoming URL along with all the search params from the request.
|
||||||
|
if (mode !== 'url') {
|
||||||
|
incomingURL = siteCanonicalURL;
|
||||||
|
incomingURL.search = requestURL.search;
|
||||||
|
}
|
||||||
//
|
//
|
||||||
// Make sure the URL is clean of any va token after a successful lookup
|
// Make sure the URL is clean of any va token after a successful lookup
|
||||||
// The token is stored in a cookie that is set on the redirect response
|
// The token is stored in a cookie that is set on the redirect response
|
||||||
//
|
//
|
||||||
const incomingURL = mode === 'url' ? requestURL : siteCanonicalURL;
|
const incomingURLWithoutToken = normalizeVisitorAuthURL(incomingURL);
|
||||||
const requestURLWithoutToken = normalizeVisitorAuthURL(incomingURL);
|
if (incomingURLWithoutToken.toString() !== incomingURL.toString()) {
|
||||||
if (
|
|
||||||
requestURLWithoutToken !== incomingURL &&
|
|
||||||
requestURLWithoutToken.toString() !== incomingURL.toString()
|
|
||||||
) {
|
|
||||||
return writeResponseCookies(
|
return writeResponseCookies(
|
||||||
NextResponse.redirect(requestURLWithoutToken.toString()),
|
NextResponse.redirect(incomingURLWithoutToken.toString()),
|
||||||
cookies
|
cookies
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user