No Description

Manu Mtz-Almeida b7eeebd898 Adds MIT license (file) 10 years ago
.travis.yml 0656c24e21 Adds .travis.yml 10 years ago
LICENSE b7eeebd898 Adds MIT license (file) 10 years ago
README.md c60c0e49b3 Updates README with decoding support 10 years ago
sse-encoder.go 947fcf68d8 Adds MIT license 10 years ago
sse_test.go 947fcf68d8 Adds MIT license 10 years ago

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.