本文整理汇总了Golang中github.com/hyperhq/hyperd/server/httputils.ParseForm函数的典型用法代码示例。如果您正苦于以下问题:Golang ParseForm函数的具体用法?Golang ParseForm怎么用?Golang ParseForm使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ParseForm函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: postVmCreate
func (p *podRouter) postVmCreate(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
var (
cpu = 1
mem = 128
async = false
err error
)
if value := r.Form.Get("cpu"); value != "" {
cpu, err = strconv.Atoi(value)
if err != nil {
return err
}
}
if value := r.Form.Get("mem"); value != "" {
mem, err = strconv.Atoi(value)
if err != nil {
return err
}
}
if r.Form.Get("async") == "yes" || r.Form.Get("async") == "true" {
async = true
}
env, err := p.backend.CmdCreateVm(cpu, mem, async)
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusOK)
}
开发者ID:juito,项目名称:hyper,代码行数:34,代码来源:pod_routes.go
示例2: postContainerCreate
func (c *containerRouter) postContainerCreate(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
podId := r.Form.Get("podId")
if podId == "" {
return fmt.Errorf("podId is required to create a new container")
}
containerArgs, err := ioutil.ReadAll(r.Body)
if err != nil {
return err
}
glog.V(1).Infof("Create container %s in pod %s", string(containerArgs), podId)
containterID, err := c.backend.CmdCreateContainer(podId, containerArgs)
if err != nil {
return err
}
v := &engine.Env{}
v.SetJson("ID", containterID)
return v.WriteJSON(w, http.StatusCreated)
}
开发者ID:juito,项目名称:hyper,代码行数:30,代码来源:container_routes.go
示例3: getContainerInfo
func (c *containerRouter) getContainerInfo(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
data, err := c.backend.CmdGetContainerInfo(r.Form.Get("container"))
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, data)
}
开发者ID:juito,项目名称:hyper,代码行数:12,代码来源:container_routes.go
示例4: getPodStats
func (p *podRouter) getPodStats(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
data, err := p.backend.CmdGetPodStats(r.Form.Get("podId"))
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, data)
}
开发者ID:gnawux,项目名称:hyper,代码行数:12,代码来源:pod_routes.go
示例5: deletePod
func (p *podRouter) deletePod(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
podId := r.Form.Get("podId")
env, err := p.backend.CmdCleanPod(podId)
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusOK)
}
开发者ID:gnawux,项目名称:hyper,代码行数:13,代码来源:pod_routes.go
示例6: postContainerStop
func (c *containerRouter) postContainerStop(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
cname := r.Form.Get("container")
env, err := c.backend.CmdStopContainer(cname)
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusCreated)
}
开发者ID:juito,项目名称:hyper,代码行数:13,代码来源:container_routes.go
示例7: postPodUnpause
func (p *podRouter) postPodUnpause(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
podId := r.Form.Get("podId")
if err := p.backend.CmdUnpausePod(podId); err != nil {
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
开发者ID:gnawux,项目名称:hyper,代码行数:13,代码来源:pod_routes.go
示例8: getImagesJSON
func (s *router) getImagesJSON(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
// FIXME: The filter parameter could just be a match filter
env, err := s.daemon.CmdImages(r.Form.Get("filters"), r.Form.Get("filter"), httputils.BoolValue(r, "all"))
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusOK)
}
开发者ID:juito,项目名称:hyper,代码行数:13,代码来源:image.go
示例9: postContainerRename
func (c *containerRouter) postContainerRename(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
newName := r.Form.Get("newName")
oldName := r.Form.Get("oldName")
env, err := c.backend.CmdContainerRename(oldName, newName)
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusOK)
}
开发者ID:juito,项目名称:hyper,代码行数:14,代码来源:container_routes.go
示例10: postPodStop
func (p *podRouter) postPodStop(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
podId := r.Form.Get("podId")
stopVm := r.Form.Get("stopVm")
env, err := p.backend.CmdStopPod(podId, stopVm)
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusOK)
}
开发者ID:gnawux,项目名称:hyper,代码行数:15,代码来源:pod_routes.go
示例11: deleteService
func (s *serviceRouter) deleteService(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
podId := r.Form.Get("podId")
services := r.Form.Get("services")
data, err := s.backend.CmdDeleteService(podId, services)
if err != nil {
return err
}
return httputils.WriteJSON(w, http.StatusOK, data)
}
开发者ID:juito,项目名称:hyper,代码行数:15,代码来源:service_routes.go
示例12: getList
func (p *podRouter) getList(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
item := r.Form.Get("item")
auxiliary := httputils.BoolValue(r, "auxiliary")
pod := r.Form.Get("pod")
vm := r.Form.Get("vm")
glog.V(1).Infof("List type is %s, specified pod: [%s], specified vm: [%s], list auxiliary pod: %v", item, pod, vm, auxiliary)
env, err := p.backend.CmdList(item, pod, vm, auxiliary)
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusCreated)
}
开发者ID:gnawux,项目名称:hyper,代码行数:19,代码来源:pod_routes.go
示例13: postPodStart
func (p *podRouter) postPodStart(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
attach := false
podId := r.Form.Get("podId")
vmId := r.Form.Get("vmId")
if val := r.Form.Get("attach"); val == "yes" || val == "true" || val == "on" {
attach = true
}
var (
inStream io.ReadCloser = nil
outStream io.WriteCloser = nil
)
if attach {
// Setting up the streaming http interface.
in, out, err := httputils.HijackConnection(w)
if err != nil {
return err
}
inStream = in
outStream = out.(io.WriteCloser)
defer httputils.CloseStreams(inStream, outStream)
fmt.Fprintf(outStream, "HTTP/1.1 101 UPGRADED\r\nContent-Type: application/vnd.docker.raw-stream\r\nConnection: Upgrade\r\nUpgrade: tcp\r\n\r\n")
}
env, err := p.backend.CmdStartPod(inStream, outStream, podId, vmId, attach)
if err != nil {
return err
}
if attach {
w.WriteHeader(http.StatusNoContent)
return nil
}
return env.WriteJSON(w, http.StatusOK)
}
开发者ID:gnawux,项目名称:hyper,代码行数:43,代码来源:pod_routes.go
示例14: postPodCreate
func (p *podRouter) postPodCreate(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
podArgs, _ := ioutil.ReadAll(r.Body)
glog.V(1).Infof("Args string is %s", string(podArgs))
env, err := p.backend.CmdCreatePod(string(podArgs))
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusCreated)
}
开发者ID:gnawux,项目名称:hyper,代码行数:19,代码来源:pod_routes.go
示例15: postImagesPush
func (s *router) postImagesPush(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
metaHeaders := map[string][]string{}
for k, v := range r.Header {
if strings.HasPrefix(k, "X-Meta-") {
metaHeaders[k] = v
}
}
if err := httputils.ParseForm(r); err != nil {
return err
}
authConfig := &types.AuthConfig{}
authEncoded := r.Header.Get("X-Registry-Auth")
if authEncoded != "" {
// the new format is to handle the authConfig as a header
authJSON := base64.NewDecoder(base64.URLEncoding, strings.NewReader(authEncoded))
if err := json.NewDecoder(authJSON).Decode(authConfig); err != nil {
// to increase compatibility to existing api it is defaulting to be empty
authConfig = &types.AuthConfig{}
}
} else {
// the old format is supported for compatibility if there was no authConfig header
if err := json.NewDecoder(r.Body).Decode(authConfig); err != nil {
return fmt.Errorf("Bad parameters and missing X-Registry-Auth: %v", err)
}
}
repo := r.Form.Get("remote")
tag := r.Form.Get("tag")
output := ioutils.NewWriteFlusher(w)
defer output.Close()
w.Header().Set("Content-Type", "application/json")
if err := s.daemon.CmdImagePush(repo, tag, authConfig, metaHeaders, output); err != nil {
if !output.Flushed() {
return err
}
sf := streamformatter.NewJSONStreamFormatter()
output.Write(sf.FormatError(err))
}
return nil
}
开发者ID:juito,项目名称:hyper,代码行数:42,代码来源:image.go
示例16: postContainerKill
func (c *containerRouter) postContainerKill(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
sigterm := int64(15)
cname := r.Form.Get("container")
signal, err := httputils.Int64ValueOrDefault(r, "signal", sigterm)
if err != nil {
signal = sigterm
}
env, err := c.backend.CmdKillContainer(cname, signal)
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusCreated)
}
开发者ID:juito,项目名称:hyper,代码行数:20,代码来源:container_routes.go
示例17: postContainerCommit
func (c *containerRouter) postContainerCommit(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
cname := r.Form.Get("container")
pause := httputils.BoolValue(r, "pause")
config, _, _, err := runconfig.DecodeContainerConfig(r.Body)
if err != nil && err != io.EOF { //Do not fail if body is empty.
return err
}
if config == nil {
config = &container.Config{}
}
newConfig, err := dockerfile.BuildFromConfig(config, r.Form["changes"])
if err != nil {
return err
}
commitCfg := &types.ContainerCommitConfig{
Pause: pause,
Repo: r.Form.Get("repo"),
Tag: r.Form.Get("tag"),
Author: r.Form.Get("author"),
Comment: r.Form.Get("comment"),
Config: newConfig,
MergeConfigs: true,
}
env, err := c.backend.CmdCommitImage(cname, commitCfg)
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusOK)
}
开发者ID:juito,项目名称:hyper,代码行数:38,代码来源:container_routes.go
示例18: postPodKill
func (p *podRouter) postPodKill(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
var (
podId = r.Form.Get("podName")
container = r.Form.Get("container")
)
sigterm := int64(15)
signal, err := httputils.Int64ValueOrDefault(r, "signal", sigterm)
if err != nil {
signal = sigterm
}
env, err := p.backend.CmdKillPod(podId, container, signal)
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusOK)
}
开发者ID:gnawux,项目名称:hyper,代码行数:23,代码来源:pod_routes.go
示例19: deleteImages
func (s *router) deleteImages(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
name := r.Form.Get("imageId")
if strings.TrimSpace(name) == "" {
return fmt.Errorf("image name cannot be blank")
}
force := httputils.BoolValue(r, "force")
prune := !httputils.BoolValue(r, "noprune")
images, err := s.daemon.CmdImageDelete(name, force, prune)
if err != nil {
return err
}
env := &engine.Env{}
env.SetJson("imagesList", images)
return env.WriteJSON(w, http.StatusOK)
}
开发者ID:juito,项目名称:hyper,代码行数:23,代码来源:image.go
示例20: postPodCreate
func (p *podRouter) postPodCreate(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := httputils.ParseForm(r); err != nil {
return err
}
if err := httputils.CheckForJSON(r); err != nil {
return err
}
podArgs, _ := ioutil.ReadAll(r.Body)
autoRemove := false
if r.Form.Get("remove") == "yes" || r.Form.Get("remove") == "true" {
autoRemove = true
}
glog.V(1).Infof("Args string is %s, autoremove %v", string(podArgs), autoRemove)
env, err := p.backend.CmdCreatePod(string(podArgs), autoRemove)
if err != nil {
return err
}
return env.WriteJSON(w, http.StatusCreated)
}
开发者ID:juito,项目名称:hyper,代码行数:23,代码来源:pod_routes.go
注:本文中的github.com/hyperhq/hyperd/server/httputils.ParseForm函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论