contexts.go 721 B

1234567891011121314151617181920212223242526272829303132333435
  1. package server
  2. import (
  3. "context"
  4. "github.com/docker/api/context/store"
  5. contextsv1 "github.com/docker/api/protos/contexts/v1"
  6. )
  7. type cliServer struct {
  8. }
  9. // NewContexts returns a contexts server
  10. func NewContexts() contextsv1.ContextsServer {
  11. return &cliServer{}
  12. }
  13. func (cs *cliServer) List(ctx context.Context, request *contextsv1.ListRequest) (*contextsv1.ListResponse, error) {
  14. s := store.ContextStore(ctx)
  15. contexts, err := s.List()
  16. if err != nil {
  17. return &contextsv1.ListResponse{}, err
  18. }
  19. result := &contextsv1.ListResponse{}
  20. for _, c := range contexts {
  21. result.Contexts = append(result.Contexts, &contextsv1.Context{
  22. Name: c.Name,
  23. ContextType: c.Type,
  24. })
  25. }
  26. return result, nil
  27. }