"python -m SimpleHTTPServer" but FAST
Go
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
loghttp
.gitignore
LICENSE
README.md
main.go

README.md

Serves a directory over HTTP

I was extremely annoyed at python -m SimpleHTTPServer (lack of) speed so I wrote one.

This project depends only on stdlib on purpose.

Installation

go get github.com/maruel/serve-dir

Usage

Serve the current directory:

serve-dir

Help with the command line arguments available:

serve-dir -help

Example output

11:15:52.282045 Serving /home/my_account/src on port 8010
11:15:53.916813 192.168.1.2:2092 - 304      0b  GET /src/
11:15:54.010258 192.168.1.2:2092 - 404     19b  GET /favicon.ico
11:16:08.770496 192.168.1.2:2094 - 200   8877b  GET /src/foo.json

Logging library

The http.Handler logging code in serve-dir is usable as a library as github.com/maruel/serve-dir/loghttp via loghttp.Handler.

GoDoc

Example:

// Serves the current directory over HTTP and logs all requests.
log.SetFlags(log.Lmicroseconds)
s := &http.Server{
    Addr:           ":6060",
    Handler:        &loghttp.Handler{Handler: http.FileServer(http.Dir("."))},
    ReadTimeout:    10. * time.Second,
    WriteTimeout:   24 * 60 * 60 * time.Second,
    MaxHeaderBytes: 256 * 1024 * 1024 * 1024,
}
log.Fatal(s.ListenAndServe())