用户登录和接口鉴权
This commit is contained in:
44
vendor/github.com/gin-contrib/sse/sse-encoder.go
generated
vendored
44
vendor/github.com/gin-contrib/sse/sse-encoder.go
generated
vendored
@@ -18,12 +18,10 @@ import (
|
||||
// W3C Working Draft 29 October 2009
|
||||
// http://www.w3.org/TR/2009/WD-eventsource-20091029/
|
||||
|
||||
const ContentType = "text/event-stream;charset=utf-8"
|
||||
const ContentType = "text/event-stream"
|
||||
|
||||
var (
|
||||
contentType = []string{ContentType}
|
||||
noCache = []string{"no-cache"}
|
||||
)
|
||||
var contentType = []string{ContentType}
|
||||
var noCache = []string{"no-cache"}
|
||||
|
||||
var fieldReplacer = strings.NewReplacer(
|
||||
"\n", "\\n",
|
||||
@@ -50,48 +48,40 @@ func Encode(writer io.Writer, event Event) error {
|
||||
|
||||
func writeId(w stringWriter, id string) {
|
||||
if len(id) > 0 {
|
||||
_, _ = w.WriteString("id:")
|
||||
_, _ = fieldReplacer.WriteString(w, id)
|
||||
_, _ = w.WriteString("\n")
|
||||
w.WriteString("id:")
|
||||
fieldReplacer.WriteString(w, id)
|
||||
w.WriteString("\n")
|
||||
}
|
||||
}
|
||||
|
||||
func writeEvent(w stringWriter, event string) {
|
||||
if len(event) > 0 {
|
||||
_, _ = w.WriteString("event:")
|
||||
_, _ = fieldReplacer.WriteString(w, event)
|
||||
_, _ = w.WriteString("\n")
|
||||
w.WriteString("event:")
|
||||
fieldReplacer.WriteString(w, event)
|
||||
w.WriteString("\n")
|
||||
}
|
||||
}
|
||||
|
||||
func writeRetry(w stringWriter, retry uint) {
|
||||
if retry > 0 {
|
||||
_, _ = w.WriteString("retry:")
|
||||
_, _ = w.WriteString(strconv.FormatUint(uint64(retry), 10))
|
||||
_, _ = w.WriteString("\n")
|
||||
w.WriteString("retry:")
|
||||
w.WriteString(strconv.FormatUint(uint64(retry), 10))
|
||||
w.WriteString("\n")
|
||||
}
|
||||
}
|
||||
|
||||
func writeData(w stringWriter, data interface{}) error {
|
||||
_, _ = w.WriteString("data:")
|
||||
|
||||
bData, ok := data.([]byte)
|
||||
if ok {
|
||||
_, _ = dataReplacer.WriteString(w, string(bData))
|
||||
_, _ = w.WriteString("\n\n")
|
||||
return nil
|
||||
}
|
||||
|
||||
switch kindOfData(data) { //nolint:exhaustive
|
||||
w.WriteString("data:")
|
||||
switch kindOfData(data) {
|
||||
case reflect.Struct, reflect.Slice, reflect.Map:
|
||||
err := json.NewEncoder(w).Encode(data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, _ = w.WriteString("\n")
|
||||
w.WriteString("\n")
|
||||
default:
|
||||
_, _ = dataReplacer.WriteString(w, fmt.Sprint(data))
|
||||
_, _ = w.WriteString("\n\n")
|
||||
dataReplacer.WriteString(w, fmt.Sprint(data))
|
||||
w.WriteString("\n\n")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user