summaryrefslogtreecommitdiff
path: root/vendor/github.com/gin-contrib/sse/sse-encoder.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/gin-contrib/sse/sse-encoder.go')
-rw-r--r--vendor/github.com/gin-contrib/sse/sse-encoder.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/vendor/github.com/gin-contrib/sse/sse-encoder.go b/vendor/github.com/gin-contrib/sse/sse-encoder.go
index f9c808750..0d26c82f0 100644
--- a/vendor/github.com/gin-contrib/sse/sse-encoder.go
+++ b/vendor/github.com/gin-contrib/sse/sse-encoder.go
@@ -18,7 +18,7 @@ import (
// W3C Working Draft 29 October 2009
// http://www.w3.org/TR/2009/WD-eventsource-20091029/
-const ContentType = "text/event-stream"
+const ContentType = "text/event-stream;charset=utf-8"
var contentType = []string{ContentType}
var noCache = []string{"no-cache"}
@@ -72,6 +72,14 @@ func writeRetry(w stringWriter, retry uint) {
func writeData(w stringWriter, data interface{}) error {
w.WriteString("data:")
+
+ bData, ok := data.([]byte)
+ if ok {
+ dataReplacer.WriteString(w, string(bData))
+ w.WriteString("\n\n")
+ return nil
+ }
+
switch kindOfData(data) {
case reflect.Struct, reflect.Slice, reflect.Map:
err := json.NewEncoder(w).Encode(data)