HTTP package and server: A step ahead of Go's standard library.
Clone or download
Latest commit 1ea15fc Dec 9, 2013
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cache fixing stuff so it compiles; not there yet Dec 9, 2013
http sync Oct 12, 2011
server fixing stuff so it compiles; not there yet Dec 9, 2013
util fixing stuff so it compiles; not there yet Dec 9, 2013
.gitignore gitignore Mar 7, 2011
Makefile removed template Aug 9, 2011
README.md readme Dec 9, 2013
deps.bash first commit Aug 17, 2010

README.md

Description

GoHTTP is an early draft, more like a sketch, of a high-performance Go HTTP server framework. It uses the low-level "net/http/httputil" standard package, which provides access to advanced features like pipelining, and is not yet utilized within the standard Go "net/http" infrastructure.

The main point of interest is that decent HTTP proxies must suppport such features, and therefore this draft I am current reviving seems like the only route to implementing a workable web HTTP proxy in Go.

Features

  • Core web server infrastructure with out-of-the-box keepalive and pipelining
    • Support for limiting the number of file descriptors in use
  • A "query" abstraction to handling incoming requests which is more convenient than that of Go's the HTTP package
  • A system of "sub-servers" that allows modular handling of different URL sub-paths
  • A system of "extensions" which allows modular pre- and post-processing of HTTP header objects like cookies
  • A sub-server module for serving static files with basic in-memory file caching

About

GoHTTP is maintained by Petar Maymounkov.