Refactor

Updated copyright headers;
Refactored the server as httpServer;
Removed Config, Redis and MySQL global variables;
Added more documentation in the test handler;
Updated logger to generate less garbage;
Updated Makefile and added Makefile.defs to support external versioning;
Deleted db.go;
Deleted JSON functions from utils.go.
9 files changed
tree: b68ef03b78431f020c67d56c2199532b32f045b9
  1. autogzip/
  2. examples/
  3. httpxtra/
  4. remux/
  5. sse/
  6. templates/
  7. .gitignore
  8. README.md
README.md

go-web

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

It has the following packages:

autogzip

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

httpxtra

  • 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

remux

  • A very simple request multiplexer that supports regular expressions

sse

  • 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.

Resources

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