diff options
author | bep <bjorn.erik.pedersen@gmail.com> | 2015-03-18 19:42:46 +0100 |
---|---|---|
committer | bep <bjorn.erik.pedersen@gmail.com> | 2015-03-18 20:03:34 +0100 |
commit | 658cfb287ec8af3c97633e19a2b584d5a9b0ecc2 (patch) | |
tree | 98adfcb917d14e42ee1560d0f7ec9398bfdbb6a9 /transform/absurl.go | |
parent | e7099cfa26d31cc7544e6db37899678ef8bd65ff (diff) |
Remove URL param from exported AbsURL methods
This is to make it clear that there is only one URL in play,
the BaseURL.
Diffstat (limited to 'transform/absurl.go')
-rw-r--r-- | transform/absurl.go | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/transform/absurl.go b/transform/absurl.go index b4bd1dff4..1c721071d 100644 --- a/transform/absurl.go +++ b/transform/absurl.go @@ -1,33 +1,47 @@ package transform import ( + "github.com/spf13/viper" "sync" ) var absURLInit sync.Once var ar *absURLReplacer -// for performance reasons, we reuse the first baseURL given -func initAbsURLReplacer(baseURL string) { - absURLInit.Do(func() { - ar = newAbsURLReplacer(baseURL) - }) +func AbsURL() (trs []link, err error) { + initAbsURLReplacer() + return absURLFromReplacer(ar) } -func AbsURL(absURL string) (trs []link, err error) { - initAbsURLReplacer(absURL) +func absURLFromURL(URL string) (trs []link, err error) { + return absURLFromReplacer(newAbsURLReplacer(URL)) +} +func absURLFromReplacer(ar *absURLReplacer) (trs []link, err error) { trs = append(trs, func(rw contentRewriter) { ar.replaceInHTML(rw) }) return } -func AbsURLInXML(absURL string) (trs []link, err error) { - initAbsURLReplacer(absURL) +func AbsURLInXML() (trs []link, err error) { + initAbsURLReplacer() + return absURLInXMLFromReplacer(ar) +} + +func absURLInXMLFromURL(URL string) (trs []link, err error) { + return absURLInXMLFromReplacer(newAbsURLReplacer(URL)) +} +func absURLInXMLFromReplacer(ar *absURLReplacer) (trs []link, err error) { trs = append(trs, func(rw contentRewriter) { ar.replaceInXML(rw) }) return } + +func initAbsURLReplacer() { + absURLInit.Do(func() { + ar = newAbsURLReplacer(viper.GetString("BaseURL")) + }) +} |