Avoid using fmt.Fprint()
This commit is contained in:
+13
-12
@@ -22,16 +22,6 @@ type Event struct {
|
|||||||
Data interface{}
|
Data interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r Event) Write(w http.ResponseWriter) error {
|
|
||||||
header := w.Header()
|
|
||||||
header.Set("Content-Type", ContentType)
|
|
||||||
|
|
||||||
if _, exist := header["Cache-Control"]; !exist {
|
|
||||||
header.Set("Cache-Control", "no-cache")
|
|
||||||
}
|
|
||||||
return Encode(w, r)
|
|
||||||
}
|
|
||||||
|
|
||||||
func Encode(w io.Writer, event Event) error {
|
func Encode(w io.Writer, event Event) error {
|
||||||
writeId(w, event.Id)
|
writeId(w, event.Id)
|
||||||
writeEvent(w, event.Event)
|
writeEvent(w, event.Event)
|
||||||
@@ -72,11 +62,22 @@ func writeData(w io.Writer, data interface{}) error {
|
|||||||
w.Write([]byte("\n"))
|
w.Write([]byte("\n"))
|
||||||
default:
|
default:
|
||||||
text := fmt.Sprint(data)
|
text := fmt.Sprint(data)
|
||||||
fmt.Fprint(w, escape(text), "\n\n")
|
w.Write([]byte(escape(text)))
|
||||||
|
w.Write([]byte("\n\n"))
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r Event) Write(w http.ResponseWriter) error {
|
||||||
|
header := w.Header()
|
||||||
|
header.Set("Content-Type", ContentType)
|
||||||
|
|
||||||
|
if _, exist := header["Cache-Control"]; !exist {
|
||||||
|
header.Set("Cache-Control", "no-cache")
|
||||||
|
}
|
||||||
|
return Encode(w, r)
|
||||||
|
}
|
||||||
|
|
||||||
func typeOfData(data interface{}) reflect.Kind {
|
func typeOfData(data interface{}) reflect.Kind {
|
||||||
value := reflect.ValueOf(data)
|
value := reflect.ValueOf(data)
|
||||||
valueType := value.Kind()
|
valueType := value.Kind()
|
||||||
@@ -88,7 +89,7 @@ func typeOfData(data interface{}) reflect.Kind {
|
|||||||
|
|
||||||
func escape(str string) string {
|
func escape(str string) string {
|
||||||
// any-char = %x0000-0009 / %x000B-000C / %x000E-10FFFF
|
// any-char = %x0000-0009 / %x000B-000C / %x000E-10FFFF
|
||||||
// ; a Unicode character other than U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR)
|
// ; a Unicode character other than U+000A LINE FEED (LF) or U+000D CARRIAGE RETURN (CR)
|
||||||
str = strings.Replace(str, "\n", "\\n", -1)
|
str = strings.Replace(str, "\n", "\\n", -1)
|
||||||
str = strings.Replace(str, "\r", "\\r", -1)
|
str = strings.Replace(str, "\r", "\\r", -1)
|
||||||
return str
|
return str
|
||||||
|
|||||||
Reference in New Issue
Block a user