1package sse 2 3import "io" 4 5type stringWriter interface { 6 io.Writer 7 WriteString(string) (int, error) 8} 9 10type stringWrapper struct { 11 io.Writer 12} 13 14func (w stringWrapper) WriteString(str string) (int, error) { 15 return w.Writer.Write([]byte(str)) 16} 17 18func checkWriter(writer io.Writer) stringWriter { 19 if w, ok := writer.(stringWriter); ok { 20 return w 21 } else { 22 return stringWrapper{writer} 23 } 24} 25