mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-24 20:56:39 +00:00
25 lines
395 B
Go
25 lines
395 B
Go
|
package sse
|
||
|
|
||
|
import "io"
|
||
|
|
||
|
type stringWriter interface {
|
||
|
io.Writer
|
||
|
WriteString(string) (int, error)
|
||
|
}
|
||
|
|
||
|
type stringWrapper struct {
|
||
|
io.Writer
|
||
|
}
|
||
|
|
||
|
func (w stringWrapper) WriteString(str string) (int, error) {
|
||
|
return w.Writer.Write([]byte(str))
|
||
|
}
|
||
|
|
||
|
func checkWriter(writer io.Writer) stringWriter {
|
||
|
if w, ok := writer.(stringWriter); ok {
|
||
|
return w
|
||
|
} else {
|
||
|
return stringWrapper{writer}
|
||
|
}
|
||
|
}
|