go-web is a collection of utilities for http servers written in Go.

It has the following packages:


  • http.Handler that supports on-the-fly gzip encoding
  • dummy http client that supports automatic gzip decoding


  • Servers can listen on both TCP or Unix sockets
  • Essential request logging (including Apache Common format)
  • Support for X-Real-IP and X-Forwarded-For headers for servers sitting behind proxies or load balancers


  • A very simple request multiplexer that supports regular expressions


  • Server-Sent Events library (for push notifications)

Examples and application templates

Check out the examples directory.

There are application templates in the templates directory that can be used as a starting point for new projects. Check them out too.


freegeoip.net is a public API for IP geolocation that uses go-web, and is open source too.

There's a live version of the SSE demo here: http://cos.pe