Blame view

go/src/themaru/vendor/github.com/gin-contrib/sse/README.md 1.7 KB
476d2547e   김태훈   태마루 시스템 설정 / 업데이트...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  # Server-Sent Events
  
  [![GoDoc](https://godoc.org/github.com/gin-contrib/sse?status.svg)](https://godoc.org/github.com/gin-contrib/sse)
  [![Build Status](https://travis-ci.org/gin-contrib/sse.svg)](https://travis-ci.org/gin-contrib/sse)
  [![codecov](https://codecov.io/gh/gin-contrib/sse/branch/master/graph/badge.svg)](https://codecov.io/gh/gin-contrib/sse)
  [![Go Report Card](https://goreportcard.com/badge/github.com/gin-contrib/sse)](https://goreportcard.com/report/github.com/gin-contrib/sse)
  
  Server-sent events (SSE) is a technology where a browser receives automatic updates from a server via HTTP connection. The Server-Sent Events EventSource API is [standardized as part of HTML5[1] by the W3C](http://www.w3.org/TR/2009/WD-eventsource-20091029/).
  
  - [Read this great SSE introduction by the HTML5Rocks guys](http://www.html5rocks.com/en/tutorials/eventsource/basics/)
  - [Browser support](http://caniuse.com/#feat=eventsource)
  
  ## Sample code
  
  ```go
  import "github.com/gin-contrib/sse"
  
  func httpHandler(w http.ResponseWriter, req *http.Request) {
  	// data can be a primitive like a string, an integer or a float
  	sse.Encode(w, sse.Event{
  		Event: "message",
  		Data:  "some data
  more data",
  	})
  
  	// also a complex type, like a map, a struct or a slice
  	sse.Encode(w, sse.Event{
  		Id:    "124",
  		Event: "message",
  		Data: map[string]interface{}{
  			"user":    "manu",
  			"date":    time.Now().Unix(),
  			"content": "hi!",
  		},
  	})
  }
  ```
  ```
  event: message
  data: some data\
  more data
  
  id: 124
  event: message
  data: {"content":"hi!","date":1431540810,"user":"manu"}
   
  ```
  
  ## Content-Type
  
  ```go
  fmt.Println(sse.ContentType)
  ```
  ```
  text/event-stream
  ```
  
  ## Decoding support
  
  There is a client-side implementation of SSE coming soon.