dotcloud/docker

View on GitHub
api/server/router/checkpoint/checkpoint.go

Summary

Maintainability
A
0 mins
Test Coverage
package checkpoint // import "github.com/docker/docker/api/server/router/checkpoint"

import (
    "github.com/docker/docker/api/server/httputils"
    "github.com/docker/docker/api/server/router"
)

// checkpointRouter is a router to talk with the checkpoint controller
type checkpointRouter struct {
    backend Backend
    decoder httputils.ContainerDecoder
    routes  []router.Route
}

// NewRouter initializes a new checkpoint router
func NewRouter(b Backend, decoder httputils.ContainerDecoder) router.Router {
    r := &checkpointRouter{
        backend: b,
        decoder: decoder,
    }
    r.initRoutes()
    return r
}

// Routes returns the available routers to the checkpoint controller
func (r *checkpointRouter) Routes() []router.Route {
    return r.routes
}

func (r *checkpointRouter) initRoutes() {
    r.routes = []router.Route{
        router.NewGetRoute("/containers/{name:.*}/checkpoints", r.getContainerCheckpoints, router.Experimental),
        router.NewPostRoute("/containers/{name:.*}/checkpoints", r.postContainerCheckpoint, router.Experimental),
        router.NewDeleteRoute("/containers/{name}/checkpoints/{checkpoint}", r.deleteContainerCheckpoint, router.Experimental),
    }
}