A static file server in Go
4 Oct, 2012
1 minute read

If you don’t know Go, you should really look into it. Today I was trying to figure out how to write a simple (and fast) static file server in Go.

As it turns out, this is very easy to do. Go contains (in the net/http package) a nice FileServer type that can server files from the directory you point it to.

Here’s a sweet and short example:

package main

import (
    "net/http"
    "log"
)

func main() {
    err := http.ListenAndServe(":4242", http.FileServer(http.Dir("public")))
    if err != nil {
        log.Printf("Error running web server for static assets: %v", err)
    }
}

By itself this is not very useful, but you can easily integrate this into any other http server you create, maybe for handling dynamic requests or doing web sockets.

Continue reading...

Want to keep reading and learn more? I've got you
covered with a hand picked selection of awesome books.

See Ariejan's book recommendations »