2
0

Update .travis.yml, update README.md and add support for gin-gonic/gin/pull/781

This commit is contained in:
Javier Provecho Fernandez
2017-01-09 10:34:21 +01:00
parent cee0155f96
commit 22d885f9ec
3 changed files with 25 additions and 7 deletions
+11 -2
View File
@@ -1,6 +1,15 @@
language: go language: go
sudo: false sudo: false
go: go:
- 1.3 - 1.6.4
- 1.4 - 1.7.4
- tip - tip
git:
depth: 3
script:
- go test -v -covermode=count -coverprofile=coverage.out
after_success:
- bash <(curl -s https://codecov.io/bash)
+9 -4
View File
@@ -1,11 +1,16 @@
#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) # 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/). 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/) - [Read this great SSE introduction by the HTML5Rocks guys](http://www.html5rocks.com/en/tutorials/eventsource/basics/)
- [Browser support](http://caniuse.com/#feat=eventsource) - [Browser support](http://caniuse.com/#feat=eventsource)
##Sample code ## Sample code
```go ```go
import "github.com/gin-contrib/sse" import "github.com/gin-contrib/sse"
@@ -39,7 +44,7 @@ data: {"content":"hi!","date":1431540810,"user":"manu"}
``` ```
##Content-Type ## Content-Type
```go ```go
fmt.Println(sse.ContentType) fmt.Println(sse.ContentType)
@@ -48,6 +53,6 @@ fmt.Println(sse.ContentType)
text/event-stream text/event-stream
``` ```
##Decoding support ## Decoding support
There is a client-side implementation of SSE coming soon. There is a client-side implementation of SSE coming soon.
+5 -1
View File
@@ -87,13 +87,17 @@ func writeData(w stringWriter, data interface{}) error {
} }
func (r Event) Render(w http.ResponseWriter) error { func (r Event) Render(w http.ResponseWriter) error {
r.WriteContentType(w)
return Encode(w, r)
}
func (r Event) WriteContentType(w http.ResponseWriter) {
header := w.Header() header := w.Header()
header["Content-Type"] = contentType header["Content-Type"] = contentType
if _, exist := header["Cache-Control"]; !exist { if _, exist := header["Cache-Control"]; !exist {
header["Cache-Control"] = noCache header["Cache-Control"] = noCache
} }
return Encode(w, r)
} }
func kindOfData(data interface{}) reflect.Kind { func kindOfData(data interface{}) reflect.Kind {