func()

in internal/namespaceinpath/responsewriter.go [57:91]


func (w *responseWriter) isAuthURL(reqURL *url.URL) bool {
	if w.authRedirectURI == "" {
		return false
	}

	if isAuthRedirectURL(reqURL, w.authRedirectURI) {
		return true
	}

	_, port, _ := net.SplitHostPort(reqURL.Host)

	pagesDomainWithPort := w.pagesDomain
	if port != "" {
		pagesDomainWithPort = w.pagesDomain + ":" + port
	}

	authSegment := ""
	if reqURL.Host == pagesDomainWithPort {
		// if namespace in path
		segments := strings.Split(strings.TrimPrefix(reqURL.Path, "/"), "/")

		if len(segments) == 2 {
			authSegment = segments[1]
		}
	} else if strings.HasSuffix(reqURL.Host, pagesDomainWithPort) {
		// if namespace in host
		segments := strings.Split(strings.TrimPrefix(reqURL.Path, "/"), "/")

		if len(segments) == 1 {
			authSegment = segments[0]
		}
	}

	return authSegment == "auth"
}