Skip to content

Commit

Permalink
Merge pull request #1296 from allencloud/reorder
Browse files Browse the repository at this point in the history
refactor: reorder function sequence to make it more reasonable
  • Loading branch information
HusterWan authored May 10, 2018
2 parents e477879 + 8ff99bf commit 188acff
Show file tree
Hide file tree
Showing 10 changed files with 706 additions and 666 deletions.
336 changes: 134 additions & 202 deletions apis/server/container_bridge.go

Large diffs are not rendered by default.

83 changes: 83 additions & 0 deletions apis/server/exec_bridge.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
package server

import (
"context"
"encoding/json"
"fmt"
"net/http"

"github.com/alibaba/pouch/apis/types"
"github.com/alibaba/pouch/daemon/mgr"
"github.com/alibaba/pouch/pkg/httputils"

"github.com/go-openapi/strfmt"
"github.com/gorilla/mux"
)

func (s *Server) createContainerExec(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
config := &types.ExecCreateConfig{}
// decode request body
if err := json.NewDecoder(req.Body).Decode(config); err != nil {
return httputils.NewHTTPError(err, http.StatusBadRequest)
}
// validate request body
if err := config.Validate(strfmt.NewFormats()); err != nil {
return httputils.NewHTTPError(err, http.StatusBadRequest)
}

name := mux.Vars(req)["name"]

id, err := s.ContainerMgr.CreateExec(ctx, name, config)
if err != nil {
return err
}

execCreateResp := &types.ExecCreateResp{
ID: id,
}

return EncodeResponse(rw, http.StatusCreated, execCreateResp)
}

func (s *Server) startContainerExec(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
config := &types.ExecStartConfig{}
// decode request body
if err := json.NewDecoder(req.Body).Decode(config); err != nil {
return httputils.NewHTTPError(err, http.StatusBadRequest)
}
// validate request body
if err := config.Validate(strfmt.NewFormats()); err != nil {
return httputils.NewHTTPError(err, http.StatusBadRequest)
}

name := mux.Vars(req)["name"]
_, upgrade := req.Header["Upgrade"]

var attach *mgr.AttachConfig

if !config.Detach {
hijacker, ok := rw.(http.Hijacker)
if !ok {
return fmt.Errorf("not a hijack connection, container: %s", name)
}

attach = &mgr.AttachConfig{
Hijack: hijacker,
Stdin: config.Tty,
Stdout: true,
Stderr: true,
Upgrade: upgrade,
}
}

return s.ContainerMgr.StartExec(ctx, name, config, attach)
}

func (s *Server) getExecInfo(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
name := mux.Vars(req)["name"]
execInfo, err := s.ContainerMgr.InspectExec(ctx, name)
if err != nil {
return err
}
return EncodeResponse(rw, http.StatusOK, execInfo)
}
22 changes: 11 additions & 11 deletions apis/server/image_bridge.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,17 +54,6 @@ func (s *Server) pullImage(ctx context.Context, rw http.ResponseWriter, req *htt
return nil
}

func (s *Server) listImages(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
filters := req.FormValue("filters")

imageList, err := s.ImageMgr.ListImages(ctx, filters)
if err != nil {
logrus.Errorf("failed to list images: %v", err)
return err
}
return EncodeResponse(rw, http.StatusOK, imageList)
}

func (s *Server) getImage(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
idOrRef := mux.Vars(req)["name"]

Expand All @@ -77,6 +66,17 @@ func (s *Server) getImage(ctx context.Context, rw http.ResponseWriter, req *http
return EncodeResponse(rw, http.StatusOK, imageInfo)
}

func (s *Server) listImages(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
filters := req.FormValue("filters")

imageList, err := s.ImageMgr.ListImages(ctx, filters)
if err != nil {
logrus.Errorf("failed to list images: %v", err)
return err
}
return EncodeResponse(rw, http.StatusOK, imageList)
}

func (s *Server) searchImages(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
searchPattern := req.FormValue("term")
registry := req.FormValue("registry")
Expand Down
26 changes: 13 additions & 13 deletions apis/server/network_bridge.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,19 @@ func (s *Server) createNetwork(ctx context.Context, rw http.ResponseWriter, req
return EncodeResponse(rw, http.StatusCreated, networkCreateResp)
}

func (s *Server) getNetwork(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
id := mux.Vars(req)["id"]

network, err := s.NetworkMgr.Get(ctx, id)
if err != nil {
return err
}

networkResp := buildNetworkInspectResp(network)

return EncodeResponse(rw, http.StatusOK, networkResp)
}

func (s *Server) listNetwork(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
networks, err := s.NetworkMgr.List(ctx, map[string]string{})
if err != nil {
Expand All @@ -54,19 +67,6 @@ func (s *Server) listNetwork(ctx context.Context, rw http.ResponseWriter, req *h
return EncodeResponse(rw, http.StatusOK, respNetworks)
}

func (s *Server) getNetwork(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
id := mux.Vars(req)["id"]

network, err := s.NetworkMgr.Get(ctx, id)
if err != nil {
return err
}

networkResp := buildNetworkInspectResp(network)

return EncodeResponse(rw, http.StatusOK, networkResp)
}

func (s *Server) deleteNetwork(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
id := mux.Vars(req)["id"]

Expand Down
20 changes: 10 additions & 10 deletions apis/server/volume_bridge.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,16 +97,6 @@ func (s *Server) getVolume(ctx context.Context, rw http.ResponseWriter, req *htt
return EncodeResponse(rw, http.StatusOK, respVolume)
}

func (s *Server) removeVolume(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
name := mux.Vars(req)["name"]

if err := s.VolumeMgr.Remove(ctx, name); err != nil {
return err
}
rw.WriteHeader(http.StatusNoContent)
return nil
}

func (s *Server) listVolume(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
volumes, err := s.VolumeMgr.List(ctx, map[string]string{})
if err != nil {
Expand Down Expand Up @@ -138,3 +128,13 @@ func (s *Server) listVolume(ctx context.Context, rw http.ResponseWriter, req *ht
}
return EncodeResponse(rw, http.StatusOK, respVolumes)
}

func (s *Server) removeVolume(ctx context.Context, rw http.ResponseWriter, req *http.Request) error {
name := mux.Vars(req)["name"]

if err := s.VolumeMgr.Remove(ctx, name); err != nil {
return err
}
rw.WriteHeader(http.StatusNoContent)
return nil
}
Loading

0 comments on commit 188acff

Please sign in to comment.