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}
 | |
| 	}
 | |
| }
 |