diff options
Diffstat (limited to 'transform')
-rw-r--r-- | transform/livereloadinject.go | 9 | ||||
-rw-r--r-- | transform/livereloadinject_test.go | 5 |
2 files changed, 10 insertions, 4 deletions
diff --git a/transform/livereloadinject.go b/transform/livereloadinject.go index bd22901df..95608185d 100644 --- a/transform/livereloadinject.go +++ b/transform/livereloadinject.go @@ -16,18 +16,21 @@ package transform import ( "bytes" "fmt" + + "github.com/spf13/viper" ) func LiveReloadInject(ct contentTransformer) { endBodyTag := "</body>" match := []byte(endBodyTag) - replaceTemplate := `<script data-no-instant>document.write('<script src="/livereload.js?mindelay=10"></' + 'script>')</script>%s` - replace := []byte(fmt.Sprintf(replaceTemplate, endBodyTag)) + port := viper.Get("port") + replaceTemplate := `<script data-no-instant>document.write('<script src="/livereload.js?port=%d&mindelay=10"></' + 'script>')</script>%s` + replace := []byte(fmt.Sprintf(replaceTemplate, port, endBodyTag)) newcontent := bytes.Replace(ct.Content(), match, replace, 1) if len(newcontent) == len(ct.Content()) { endBodyTag = "</BODY>" - replace := []byte(fmt.Sprintf(replaceTemplate, endBodyTag)) + replace := []byte(fmt.Sprintf(replaceTemplate, port, endBodyTag)) match := []byte(endBodyTag) newcontent = bytes.Replace(ct.Content(), match, replace, 1) } diff --git a/transform/livereloadinject_test.go b/transform/livereloadinject_test.go index cf618e9ee..9f28e05e2 100644 --- a/transform/livereloadinject_test.go +++ b/transform/livereloadinject_test.go @@ -18,6 +18,8 @@ import ( "fmt" "strings" "testing" + + "github.com/spf13/viper" ) func TestLiveReloadInject(t *testing.T) { @@ -26,13 +28,14 @@ func TestLiveReloadInject(t *testing.T) { } func doTestLiveReloadInject(t *testing.T, bodyEndTag string) { + viper.Set("port", 1313) out := new(bytes.Buffer) in := strings.NewReader(bodyEndTag) tr := NewChain(LiveReloadInject) tr.Apply(out, in, []byte("path")) - expected := fmt.Sprintf(`<script data-no-instant>document.write('<script src="/livereload.js?mindelay=10"></' + 'script>')</script>%s`, bodyEndTag) + expected := fmt.Sprintf(`<script data-no-instant>document.write('<script src="/livereload.js?port=1313&mindelay=10"></' + 'script>')</script>%s`, bodyEndTag) if string(out.Bytes()) != expected { t.Errorf("Expected %s got %s", expected, string(out.Bytes())) } |