api.go 647 B

123456789101112131415161718192021222324252627282930
  1. package docker
  2. import (
  3. "encoding/json"
  4. "log"
  5. "github.com/gorilla/mux"
  6. "net/http"
  7. )
  8. func ListenAndServe(addr string, runtime *Runtime) error {
  9. r := mux.NewRouter()
  10. log.Printf("Listening for HTTP on %s\n", addr)
  11. r.Path("/version").Methods("GET", "POST").HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  12. m := VersionOut{VERSION, GIT_COMMIT, NO_MEMORY_LIMIT}
  13. b, err := json.Marshal(m)
  14. if err != nil {
  15. w.WriteHeader(500)
  16. } else {
  17. w.Write(b)
  18. }
  19. })
  20. r.Path("/images").Methods("GET", "POST").HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  21. //TODO use runtime
  22. })
  23. return http.ListenAndServe(addr, r)
  24. }