From 5233ec6bf263d3ef2937ad1753bf140b83cf8f73 Mon Sep 17 00:00:00 2001 From: Manu Mtz-Almeida Date: Wed, 13 May 2015 20:17:38 +0200 Subject: [PATCH] Adds README --- README.md | 40 ++++++++++++++++++++++++++++++++++++++++ sse-encoder.go | 1 - 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..90fc1bb --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +#Server-Sent Events + +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. + +[Read this great SSE introduction by the HTML5Rocks guys](http://www.html5rocks.com/en/tutorials/eventsource/basics/) + +[Real world demostration using Gin](http://sse.getgin.io/) + +```go +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"} + +``` + diff --git a/sse-encoder.go b/sse-encoder.go index 204e934..20cb986 100644 --- a/sse-encoder.go +++ b/sse-encoder.go @@ -4,7 +4,6 @@ import ( "encoding/json" "fmt" "io" - "reflect" "strings" )