Skip to content

Firoz01/gosse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gosse Package

A simple and efficient Server-Sent Events (SSE) handler for Go using the standard library.

Installation

go get github.com/Firoz01/gosse 

Basic Setup

func main() { SSEHandler := gosse.NewServer() go SSEHandler.Run() defer SSEHandler.Shutdown() http.HandleFunc("/events", func(w http.ResponseWriter, r *http.Request) { gosse.SSEHandlerEndpoint(SSEHandler, w, r)	}) http.ListenAndServe(":8080", nil) }

Publishing Events

func main() { SSEHandler := gosse.NewServer() go SSEHandler.Run() defer SSEHandler.Shutdown() http.HandleFunc("/events", func(w http.ResponseWriter, r *http.Request) { gosse.SSEHandlerEndpoint(SSEHandler, w, r)	}) http.HandleFunc("/publish", func(w http.ResponseWriter, r *http.Request) { eventMessage := []byte("This is a test event message") SSEHandler.BroadcastMessage(eventMessage) w.WriteHeader(http.StatusOK)	}) go func() { for { time.Sleep(5 * time.Second) eventMessage := []byte("Periodic event message") SSEHandler.BroadcastMessage(eventMessage)	}	}() http.ListenAndServe(":8080", nil) }

Running Tests

 go test -v 

CodeRabbit Pull Request Reviews

About

A simple and efficient Server-Sent Events (SSE) handler for Go using the standard library.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages