8
"github.com/gorilla/mux"
11
var apiInternal = []Command{
14
internalContainerOnStartCmd,
15
internalContainerOnStopCmd,
18
func internalReady(d *Daemon, r *http.Request) Response {
20
return InternalError(fmt.Errorf("The server isn't currently in setup mode"))
25
return InternalError(err)
30
return EmptySyncResponse
33
func internalWaitReady(d *Daemon, r *http.Request) Response {
36
return EmptySyncResponse
39
func internalShutdown(d *Daemon, r *http.Request) Response {
40
d.shutdownChan <- true
42
return EmptySyncResponse
45
func internalContainerOnStart(d *Daemon, r *http.Request) Response {
46
id, err := strconv.Atoi(mux.Vars(r)["id"])
48
return SmartError(err)
51
c, err := containerLoadById(d, id)
53
return SmartError(err)
58
return SmartError(err)
61
return EmptySyncResponse
64
func internalContainerOnStop(d *Daemon, r *http.Request) Response {
65
id, err := strconv.Atoi(mux.Vars(r)["id"])
67
return SmartError(err)
70
target := r.FormValue("target")
75
c, err := containerLoadById(d, id)
77
return SmartError(err)
80
err = c.OnStop(target)
82
return SmartError(err)
85
return EmptySyncResponse
88
var internalShutdownCmd = Command{name: "shutdown", put: internalShutdown}
89
var internalReadyCmd = Command{name: "ready", put: internalReady, get: internalWaitReady}
90
var internalContainerOnStartCmd = Command{name: "containers/{id}/onstart", get: internalContainerOnStart}
91
var internalContainerOnStopCmd = Command{name: "containers/{id}/onstop", get: internalContainerOnStop}