summaryrefslogtreecommitdiffstats
path: root/transform/absurl.go
diff options
context:
space:
mode:
authorbep <bjorn.erik.pedersen@gmail.com>2015-03-18 19:42:46 +0100
committerbep <bjorn.erik.pedersen@gmail.com>2015-03-18 20:03:34 +0100
commit658cfb287ec8af3c97633e19a2b584d5a9b0ecc2 (patch)
tree98adfcb917d14e42ee1560d0f7ec9398bfdbb6a9 /transform/absurl.go
parente7099cfa26d31cc7544e6db37899678ef8bd65ff (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.go32
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"))
+ })
+}