2013-04-11 02:48:21 +00:00
|
|
|
package docker
|
|
|
|
|
|
|
|
import (
|
2013-04-18 01:13:43 +00:00
|
|
|
"encoding/json"
|
|
|
|
"log"
|
2013-04-11 02:48:21 +00:00
|
|
|
"github.com/gorilla/mux"
|
|
|
|
"net/http"
|
|
|
|
)
|
|
|
|
|
2013-04-18 01:13:43 +00:00
|
|
|
func ListenAndServe(addr string, runtime *Runtime) error {
|
|
|
|
r := mux.NewRouter()
|
|
|
|
log.Printf("Listening for HTTP on %s\n", addr)
|
2013-04-11 02:48:21 +00:00
|
|
|
|
2013-04-18 01:13:43 +00:00
|
|
|
r.Path("/version").Methods("GET", "POST").HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
m := VersionOut{VERSION, GIT_COMMIT, NO_MEMORY_LIMIT}
|
|
|
|
b, err := json.Marshal(m)
|
|
|
|
if err != nil {
|
|
|
|
w.WriteHeader(500)
|
|
|
|
} else {
|
|
|
|
w.Write(b)
|
|
|
|
}
|
|
|
|
})
|
2013-04-11 02:48:21 +00:00
|
|
|
|
2013-04-18 01:13:43 +00:00
|
|
|
r.Path("/images").Methods("GET", "POST").HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
|
|
//TODO use runtime
|
|
|
|
})
|
2013-04-11 02:48:21 +00:00
|
|
|
|
2013-04-18 01:13:43 +00:00
|
|
|
return http.ListenAndServe(addr, r)
|
2013-04-11 02:48:21 +00:00
|
|
|
}
|
|
|
|
|