本文整理汇总了Golang中github.com/hyperhq/hyper/engine.Tail函数的典型用法代码示例。如果您正苦于以下问题:Golang Tail函数的具体用法?Golang Tail怎么用?Golang Tail使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Tail函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: postPodRemove
func postPodRemove(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := r.ParseForm(); err != nil {
return nil
}
glog.V(1).Infof("Pod(%s) is process to be removed", r.Form.Get("podId"))
job := eng.Job("podRm", r.Form.Get("podId"))
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
var (
env engine.Env
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
env.Set("ID", dat["ID"].(string))
env.SetInt("Code", (int)(dat["Code"].(float64)))
env.Set("Cause", dat["Cause"].(string))
return writeJSONEnv(w, http.StatusOK, env)
}
开发者ID:WIZARD-CXY,项目名称:hyper,代码行数:31,代码来源:server.go
示例2: postContainerCreate
func postContainerCreate(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := r.ParseForm(); err != nil {
return nil
}
glog.V(1).Infof("Image name is %s", r.Form.Get("imageName"))
job := eng.Job("create", r.Form.Get("imageName"))
stdoutBuf := bytes.NewBuffer(nil)
stderrBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
job.Stderr.Add(stderrBuf)
if err := job.Run(); err != nil {
return err
}
var (
env engine.Env
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
env.Set("ContainerID", dat["ContainerID"].(string))
return writeJSONEnv(w, http.StatusCreated, env)
}
开发者ID:WIZARD-CXY,项目名称:hyper,代码行数:29,代码来源:server.go
示例3: postVmCreate
func postVmCreate(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := r.ParseForm(); err != nil {
return nil
}
job := eng.Job("vmCreate", r.Form.Get("cpu"), r.Form.Get("mem"))
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
var (
env engine.Env
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
env.Set("ID", dat["ID"].(string))
env.SetInt("Code", (int)(dat["Code"].(float64)))
env.Set("Cause", dat["Cause"].(string))
return writeJSONEnv(w, http.StatusOK, env)
}
开发者ID:WIZARD-CXY,项目名称:hyper,代码行数:30,代码来源:server.go
示例4: postContainerCommit
func postContainerCommit(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := r.ParseForm(); err != nil {
return nil
}
glog.V(1).Infof("container ID is %s", r.Form.Get("container"))
job := eng.Job("commit", r.Form.Get("container"), r.Form.Get("repo"), r.Form.Get("author"), r.Form.Get("change"), r.Form.Get("message"), r.Form.Get("pause"))
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
var (
env engine.Env
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
env.Set("ID", dat["ID"].(string))
env.SetInt("Code", (int)(dat["Code"].(float64)))
env.Set("Cause", dat["Cause"].(string))
return writeJSONEnv(w, http.StatusOK, env)
}
开发者ID:WIZARD-CXY,项目名称:hyper,代码行数:29,代码来源:server.go
示例5: getImages
func getImages(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := r.ParseForm(); err != nil {
return nil
}
job := eng.Job("images", r.Form.Get("all"))
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
str := engine.Tail(stdoutBuf, 1)
type response struct {
Images []string `json:"imagesList"`
}
var res response
if err := json.Unmarshal([]byte(str), &res); err != nil {
return err
}
var env engine.Env
env.SetList("imagesList", res.Images)
return writeJSONEnv(w, http.StatusOK, env)
}
开发者ID:WIZARD-CXY,项目名称:hyper,代码行数:26,代码来源:server.go
示例6: postStop
func postStop(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := parseForm(r); err != nil {
return err
}
glog.V(1).Infof("Stop the POD name is %s", r.Form.Get("podName"))
job := eng.Job("podStop", r.Form.Get("podId"), r.Form.Get("stopVm"))
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
var (
env engine.Env
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
env.Set("ID", dat["ID"].(string))
env.SetInt("Code", (int)(dat["Code"].(float64)))
env.Set("Cause", dat["Cause"].(string))
return writeJSONEnv(w, http.StatusOK, env)
}
开发者ID:neujie,项目名称:hyper,代码行数:29,代码来源:server.go
示例7: postPodLabels
func postPodLabels(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := parseForm(r); err != nil {
return err
}
podID := r.Form.Get("podId")
override := r.Form.Get("override")
labels := r.Form.Get("labels")
job := eng.Job("podLabels", podID, override, labels)
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
var (
env engine.Env
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
env.Set("ID", dat["ID"].(string))
env.SetInt("Code", (int)(dat["Code"].(float64)))
env.Set("Cause", dat["Cause"].(string))
return writeJSONEnv(w, http.StatusOK, env)
}
开发者ID:m1911,项目名称:hyper,代码行数:34,代码来源:server.go
示例8: getList
func getList(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := parseForm(r); err != nil {
return err
}
item := r.Form.Get("item")
auxiliary := r.Form.Get("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: %s", item, pod, vm, auxiliary)
job := eng.Job("list", item, pod, vm, auxiliary)
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
str := engine.Tail(stdoutBuf, 1)
type listResponse struct {
Item string `json:"item"`
PodData []string `json:"podData"`
VmData []string `json:"vmData"`
CData []string `json:"cData"`
}
var res listResponse
if err := json.Unmarshal([]byte(str), &res); err != nil {
return err
}
var env engine.Env
env.Set("Item", res.Item)
if res.Item == "pod" {
env.SetList("podData", res.PodData)
}
if res.Item == "vm" {
env.SetList("vmData", res.VmData)
}
if res.Item == "container" {
env.SetList("cData", res.CData)
}
return writeJSONEnv(w, http.StatusOK, env)
}
开发者ID:m1911,项目名称:hyper,代码行数:45,代码来源:server.go
示例9: postAuth
func postAuth(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
job := eng.Job("auth")
job.Stdin.Add(r.Body)
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
var (
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
return writeJSON(w, http.StatusOK, &dockertypes.AuthResponse{
Status: dat["status"].(string),
})
}
开发者ID:WIZARD-CXY,项目名称:hyper,代码行数:20,代码来源:server.go
示例10: postPodCreate
func postPodCreate(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := parseForm(r); err != nil {
return err
}
if r.Body != nil && (r.ContentLength > 0 || r.ContentLength == -1) {
if err := checkForJson(r); err != nil {
return err
}
} else {
return fmt.Errorf("no provided podfile data")
}
podArgs, _ := ioutil.ReadAll(r.Body)
autoRemove := r.Form.Get("remove")
glog.V(1).Infof("Args string is %s, %s", string(podArgs), autoRemove)
job := eng.Job("podCreate", string(podArgs), autoRemove)
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
var (
env engine.Env
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
env.Set("ID", dat["ID"].(string))
env.SetInt("Code", (int)(dat["Code"].(float64)))
env.Set("Cause", dat["Cause"].(string))
return writeJSONEnv(w, http.StatusOK, env)
}
开发者ID:neujie,项目名称:hyper,代码行数:41,代码来源:server.go
示例11: postImagesRemove
func postImagesRemove(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := r.ParseForm(); err != nil {
return nil
}
glog.V(1).Infof("Image(%s) is process to be removed", r.Form.Get("imageId"))
var (
force string = "yes"
noprune string = "yes"
)
if r.Form.Get("force") != "" {
force = r.Form.Get("force")
}
if r.Form.Get("noprune") != "" {
noprune = r.Form.Get("noprune")
}
job := eng.Job("imagesremove", r.Form.Get("imageId"), force, noprune)
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
str := engine.Tail(stdoutBuf, 1)
type response struct {
Images []string `json:"imagesList"`
}
var res response
if err := json.Unmarshal([]byte(str), &res); err != nil {
return err
}
var env engine.Env
env.SetList("imagesList", res.Images)
return writeJSONEnv(w, http.StatusOK, env)
}
开发者ID:WIZARD-CXY,项目名称:hyper,代码行数:37,代码来源:server.go
示例12: getServices
func getServices(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := r.ParseForm(); err != nil {
return nil
}
job := eng.Job("serviceList", r.Form.Get("podId"))
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
var (
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
return writeJSON(w, http.StatusCreated, dat["data"])
}
开发者ID:WIZARD-CXY,项目名称:hyper,代码行数:24,代码来源:server.go
示例13: getExitCode
func getExitCode(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := parseForm(r); err != nil {
return err
}
job := eng.Job("exitcode", r.Form.Get("container"), r.Form.Get("tag"))
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
var (
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
return writeJSON(w, http.StatusOK, dat["ExitCode"])
}
开发者ID:m1911,项目名称:hyper,代码行数:24,代码来源:server.go
示例14: postPodStart
func postPodStart(eng *engine.Engine, version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
if err := r.ParseForm(); err != nil {
return nil
}
ttyTag := r.Form.Get("tag")
job := eng.Job("podStart", r.Form.Get("podId"), r.Form.Get("vmId"), ttyTag)
if ttyTag == "" {
stdoutBuf := bytes.NewBuffer(nil)
job.Stdout.Add(stdoutBuf)
if err := job.Run(); err != nil {
return err
}
var (
env engine.Env
dat map[string]interface{}
returnedJSONstr string
)
returnedJSONstr = engine.Tail(stdoutBuf, 1)
if err := json.Unmarshal([]byte(returnedJSONstr), &dat); err != nil {
return err
}
env.Set("ID", dat["ID"].(string))
env.SetInt("Code", (int)(dat["Code"].(float64)))
env.Set("Cause", dat["Cause"].(string))
return writeJSONEnv(w, http.StatusOK, env)
} else {
var (
errOut io.Writer = os.Stderr
errStream io.Writer
)
// Setting up the streaming http interface.
inStream, outStream, err := hijackServer(w)
if err != nil {
return err
}
defer 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")
errStream = outStream
job.Stdin.Add(inStream)
job.Stdout.Add(outStream)
job.Stderr.Set(errStream)
// Now run the user process in container.
job.SetCloseIO(false)
if err := job.Run(); err != nil {
fmt.Fprintf(errOut, "Error starting attach to POD %s: %s\n", r.Form.Get("podname"), err.Error())
return err
}
w.WriteHeader(http.StatusNoContent)
return nil
}
}
开发者ID:WIZARD-CXY,项目名称:hyper,代码行数:62,代码来源:server.go
注:本文中的github.com/hyperhq/hyper/engine.Tail函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论