diff options
author | Sam Smith <sams96@mail.com> | 2020-03-07 18:56:02 +0000 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-03-09 13:31:04 +0100 |
commit | c4fa2f07996c7f1f4e257089a3c3c5b4c1339722 (patch) | |
tree | 585cbe9deef705f97dd574000472e541a0cb5285 /tpl/data/resources.go | |
parent | 108314444b510bfc330ccac745dce7beccd52c91 (diff) |
tpl: Fix error with unicode in file paths
Add url.QueryUnescape before reading file which allows files with
unicode in their paths to be read.
Fixes #6996
Diffstat (limited to 'tpl/data/resources.go')
-rw-r--r-- | tpl/data/resources.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tpl/data/resources.go b/tpl/data/resources.go index 7de440ca6..923d5946e 100644 --- a/tpl/data/resources.go +++ b/tpl/data/resources.go @@ -16,6 +16,7 @@ package data import ( "io/ioutil" "net/http" + "net/url" "path/filepath" "time" @@ -107,7 +108,11 @@ func getLocal(url string, fs afero.Fs, cfg config.Provider) ([]byte, error) { func (ns *Namespace) getResource(cache *filecache.Cache, unmarshal func(b []byte) (bool, error), req *http.Request) error { switch req.URL.Scheme { case "": - b, err := getLocal(req.URL.String(), ns.deps.Fs.Source, ns.deps.Cfg) + url, err := url.QueryUnescape(req.URL.String()) + if err != nil { + return err + } + b, err := getLocal(url, ns.deps.Fs.Source, ns.deps.Cfg) if err != nil { return err } |