Fix templates with asset paths that point to external URL
Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
This commit is contained in:
parent
1d892c6cac
commit
70505b258d
2 changed files with 12 additions and 0 deletions
|
@ -176,6 +176,11 @@ func loadTemplates(c webConfig, templatesDir string) (*templates, error) {
|
|||
//assetPath is static/main.css
|
||||
//relativeURL("/dex", "/dex/auth", "static/main.css") = "../static/main.css"
|
||||
func relativeURL(serverPath, reqPath, assetPath string) string {
|
||||
if u, err := url.ParseRequestURI(assetPath); err == nil && u.Scheme != "" {
|
||||
// assetPath points to the external URL, no changes needed
|
||||
return assetPath
|
||||
}
|
||||
|
||||
splitPath := func(p string) []string {
|
||||
res := []string{}
|
||||
parts := strings.Split(path.Clean(p), "/")
|
||||
|
|
|
@ -31,6 +31,13 @@ func TestRelativeURL(t *testing.T) {
|
|||
assetPath: "assets/css/main.css",
|
||||
expected: "../assets/css/main.css",
|
||||
},
|
||||
{
|
||||
name: "external-url",
|
||||
serverPath: "/dex",
|
||||
reqPath: "/dex/auth/connector",
|
||||
assetPath: "https://kubernetes.io/images/favicon.png",
|
||||
expected: "https://kubernetes.io/images/favicon.png",
|
||||
},
|
||||
}
|
||||
|
||||
for _, test := range tests {
|
||||
|
|
Reference in a new issue