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