Bez popisu

Manu Mtz-Almeida fe6ea2c8e3 Conforms to w3.org standard + experimental decoder před 10 roky
.travis.yml 0656c24e21 Adds .travis.yml před 10 roky
LICENSE b7eeebd898 Adds MIT license (file) před 10 roky
README.md c60c0e49b3 Updates README with decoding support před 10 roky
sse-decoder.go fe6ea2c8e3 Conforms to w3.org standard + experimental decoder před 10 roky
sse-decoder_test.go fe6ea2c8e3 Conforms to w3.org standard + experimental decoder před 10 roky
sse-encoder.go fe6ea2c8e3 Conforms to w3.org standard + experimental decoder před 10 roky
sse_test.go fe6ea2c8e3 Conforms to w3.org standard + experimental decoder před 10 roky
writer.go 404710eaa4 Performance improvements. před 10 roky

README.md

#Server-Sent Events GoDoc Build Status

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.

##Sample code

import "github.com/manucorporat/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\nmore 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\\nmore data

id: 124
event: message
data: {"content":"hi!","date":1431540810,"user":"manu"}
 

##Content-Type

fmt.Println(sse.ContentType)
text/event-stream

##Decoding support

There is a client-side implementation of SSE coming soon.