本文整理汇总了Golang中github.com/vito/go-sse/sse.Event.Write方法的典型用法代码示例。如果您正苦于以下问题:Golang Event.Write方法的具体用法?Golang Event.Write怎么用?Golang Event.Write使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/vito/go-sse/sse.Event
的用法示例。
在下文中一共展示了Event.Write方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: handle
func (w *Writer) handle(rw http.ResponseWriter, r *http.Request) {
w.readers.Add(1)
defer w.readers.Done()
if r.RequestURI == "/ready" {
rw.WriteHeader(http.StatusOK)
return
}
rw.Header().Set("Content-Type", "text/event-stream; charset=utf-8")
rw.Header().Set("Cache-Control", "no-cache")
rw.Header().Set("Connection", "keep-alive")
rw.WriteHeader(http.StatusOK)
rw.Write([]byte("\n"))
flusher := rw.(http.Flusher)
flusher.Flush()
closeNotifier := rw.(http.CloseNotifier).CloseNotify()
for {
select {
case <-closeNotifier:
return
case message, ok := <-w.messages:
if !ok {
return
}
event := vitosse.Event{
Data: message,
}
err := event.Write(rw)
flusher.Flush()
w.responses <- response{
count: len(message),
err: err,
}
}
}
}
示例2:
close(streaming)
id := 0
for e := range events {
payload, err := json.Marshal(event.Message{Event: e})
Expect(err).NotTo(HaveOccurred())
event := sse.Event{
ID: fmt.Sprintf("%d", id),
Name: "event",
Data: payload,
}
err = event.Write(w)
Expect(err).NotTo(HaveOccurred())
flusher.Flush()
id++
}
err := sse.Event{
Name: "end",
}.Write(w)
Expect(err).NotTo(HaveOccurred())
},
),
)
atcServer.RouteToHandler("PUT", "/api/v1/pipes/some-pipe-id",
示例3:
BeforeEach(func() {
data, _ := json.Marshal(route1)
event = sse.Event{
ID: "1",
Name: "Upsert",
Data: data,
}
server.AppendHandlers(
ghttp.CombineHandlers(
ghttp.VerifyRequest("GET", "/v1/events"),
ghttp.VerifyHeader(http.Header{
"Authorization": []string{"bearer"},
}),
func(w http.ResponseWriter, req *http.Request) {
event.Write(w)
},
),
)
})
JustBeforeEach(func() {
eventSource, err = client.SubscribeToEvents()
})
It("Starts an SSE connection to the server", func() {
Expect(server.ReceivedRequests()).Should(HaveLen(1))
})
It("Streams events from the server", func() {
Expect(err).NotTo(HaveOccurred())