Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
HTTP package and server: A step ahead of Go's standard library.
Go Shell
Branch: master

readme

latest commit 1ea15fcd2a
@petar authored
Failed to load latest commit information.
cache
http
server
util
.gitignore
Makefile
README.md
deps.bash

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.

Something went wrong with that request. Please try again.