本文整理汇总了Golang中github.com/coreos/rkt/Godeps/_workspace/src/github.com/gorilla/mux.Vars函数的典型用法代码示例。如果您正苦于以下问题:Golang Vars函数的具体用法?Golang Vars怎么用?Golang Vars使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Vars函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: handleAppAnnotation
func handleAppAnnotation(w http.ResponseWriter, r *http.Request, pm *schema.PodManifest, im *schema.ImageManifest) {
defer r.Body.Close()
n := mux.Vars(r)["name"]
k, err := types.NewACIdentifier(n)
if err != nil {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "App annotation name %q is not a valid AC Identifier", n)
return
}
n = mux.Vars(r)["app"]
an, err := types.NewACName(n)
if err != nil {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "App name %q is not a valid AC Name", n)
return
}
merged := mergeAppAnnotations(im, pm, an)
v, ok := merged.Get(k.String())
if !ok {
w.WriteHeader(http.StatusNotFound)
fmt.Fprintf(w, "App annotation %q not found", k)
return
}
w.Header().Add("Content-Type", "text/plain")
w.WriteHeader(http.StatusOK)
w.Write([]byte(v))
}
开发者ID:NeilW,项目名称:rkt,代码行数:32,代码来源:metadata_service.go
示例2: handleRegisterApp
func handleRegisterApp(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
uuid, err := types.NewUUID(mux.Vars(r)["uuid"])
if err != nil {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "UUID is missing or malformed: %v", err)
return
}
an := mux.Vars(r)["app"]
if an == "" {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprint(w, "app missing")
return
}
im := &schema.ImageManifest{}
if err := json.NewDecoder(r.Body).Decode(im); err != nil {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "JSON-decoding failed: %v", err)
return
}
err = pods.addApp(uuid, an, im)
if err != nil {
w.WriteHeader(http.StatusNotFound)
fmt.Fprint(w, "Pod with given UUID not found")
return
}
w.WriteHeader(http.StatusOK)
}
开发者ID:NeilW,项目名称:rkt,代码行数:33,代码来源:metadata_service.go
示例3: appGet
func appGet(h func(http.ResponseWriter, *http.Request, *schema.PodManifest, *schema.ImageManifest)) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
token := mux.Vars(r)["token"]
an := mux.Vars(r)["app"]
if an == "" {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprint(w, "app missing")
return
}
pm, im, err := pods.getManifests(token, an)
switch {
case err == nil:
h(w, r, pm, im)
case err == errPodNotFound:
w.WriteHeader(http.StatusUnauthorized)
fmt.Fprintln(w, err)
default:
w.WriteHeader(http.StatusNotFound)
fmt.Fprintln(w, err)
}
}
}
开发者ID:NeilW,项目名称:rkt,代码行数:26,代码来源:metadata_service.go
示例4: handlePodSign
func handlePodSign(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
token := mux.Vars(r)["token"]
uuid, err := pods.getUUID(token)
if err != nil {
w.WriteHeader(http.StatusUnauthorized)
fmt.Fprintln(w, err)
return
}
content := r.FormValue("content")
if content == "" {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "content form value not found")
return
}
// HMAC(UID:content)
h := hmac.New(sha512.New, hmacKey[:])
h.Write((*uuid)[:])
h.Write([]byte(content))
// Send back HMAC as the signature
w.Header().Add("Content-Type", "text/plain")
w.WriteHeader(http.StatusOK)
enc := base64.NewEncoder(base64.StdEncoding, w)
enc.Write(h.Sum(nil))
enc.Close()
}
开发者ID:NeilW,项目名称:rkt,代码行数:31,代码来源:metadata_service.go
示例5: handleRegisterPod
func handleRegisterPod(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
uuid, err := types.NewUUID(mux.Vars(r)["uuid"])
if err != nil {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "UUID is missing or malformed: %v", err)
return
}
token := queryValue(r.URL, "token")
if token == "" {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprint(w, "token missing")
return
}
pm := &schema.PodManifest{}
if err := json.NewDecoder(r.Body).Decode(pm); err != nil {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "JSON-decoding failed: %v", err)
return
}
pods.addPod(uuid, token, pm)
w.WriteHeader(http.StatusOK)
}
开发者ID:NeilW,项目名称:rkt,代码行数:29,代码来源:metadata_service.go
示例6: podGet
func podGet(h func(http.ResponseWriter, *http.Request, *schema.PodManifest)) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
token := mux.Vars(r)["token"]
pm, err := pods.getPodManifest(token)
if err != nil {
w.WriteHeader(http.StatusUnauthorized)
fmt.Fprintln(w, err)
return
}
h(w, r, pm)
}
}
开发者ID:NeilW,项目名称:rkt,代码行数:14,代码来源:metadata_service.go
示例7: handlePodUUID
func handlePodUUID(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
token := mux.Vars(r)["token"]
uuid, err := pods.getUUID(token)
if err != nil {
w.WriteHeader(http.StatusUnauthorized)
fmt.Fprintln(w, err)
return
}
w.Header().Add("Content-Type", "text/plain")
w.WriteHeader(http.StatusOK)
w.Write([]byte(uuid.String()))
}
开发者ID:NeilW,项目名称:rkt,代码行数:16,代码来源:metadata_service.go
示例8: handleAppAnnotations
func handleAppAnnotations(w http.ResponseWriter, r *http.Request, pm *schema.PodManifest, im *schema.ImageManifest) {
defer r.Body.Close()
n := mux.Vars(r)["app"]
an, err := types.NewACName(n)
if err != nil {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "App name %q is not a valid AC Name", n)
return
}
w.Header().Add("Content-Type", "text/plain")
w.WriteHeader(http.StatusOK)
for _, annot := range mergeAppAnnotations(im, pm, an) {
fmt.Fprintln(w, string(annot.Name))
}
}
开发者ID:NeilW,项目名称:rkt,代码行数:18,代码来源:metadata_service.go
示例9: handleUnregisterPod
func handleUnregisterPod(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
uuid, err := types.NewUUID(mux.Vars(r)["uuid"])
if err != nil {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "UUID is missing or malformed: %v", err)
return
}
if err := pods.remove(uuid); err != nil {
w.WriteHeader(http.StatusNotFound)
fmt.Fprint(w, err)
return
}
w.WriteHeader(http.StatusOK)
}
开发者ID:NeilW,项目名称:rkt,代码行数:18,代码来源:metadata_service.go
示例10: handleAppID
func handleAppID(w http.ResponseWriter, r *http.Request, pm *schema.PodManifest, im *schema.ImageManifest) {
defer r.Body.Close()
n := mux.Vars(r)["app"]
an, err := types.NewACName(n)
if err != nil {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprintf(w, "App name %q is not a valid AC Name", n)
return
}
w.Header().Add("Content-Type", "text/plain")
w.WriteHeader(http.StatusOK)
app := pm.Apps.Get(*an)
if app == nil {
// This is impossiple as we have already checked that
// the image manifest is not nil in the parent function.
panic("could not find app in manifest!")
}
w.Write([]byte(app.Image.ID.String()))
}
开发者ID:NeilW,项目名称:rkt,代码行数:21,代码来源:metadata_service.go
示例11: appGet
func appGet(h func(http.ResponseWriter, *http.Request, *schema.PodManifest, *schema.ImageManifest)) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
ip := strings.Split(r.RemoteAddr, ":")[0]
an := mux.Vars(r)["app"]
if an == "" {
w.WriteHeader(http.StatusBadRequest)
fmt.Fprint(w, "app missing")
return
}
pm, im, err := pods.getManifests(ip, an)
if err != nil {
w.WriteHeader(http.StatusNotFound)
fmt.Fprintln(w, err)
return
}
h(w, r, pm, im)
}
}
开发者ID:promisejohn,项目名称:rkt,代码行数:21,代码来源:metadata_service.go
示例12: handlePodAnnotation
func handlePodAnnotation(w http.ResponseWriter, r *http.Request, pm *schema.PodManifest) {
defer r.Body.Close()
k, err := types.NewACName(mux.Vars(r)["name"])
if err != nil {
w.WriteHeader(http.StatusNotFound)
fmt.Fprintf(w, "Pod annotation is not a valid AC Name")
return
}
v, ok := pm.Annotations.Get(k.String())
if !ok {
w.WriteHeader(http.StatusNotFound)
fmt.Fprintf(w, "Pod annotation (%v) not found", k)
return
}
w.Header().Add("Content-Type", "text/plain")
w.WriteHeader(http.StatusOK)
w.Write([]byte(v))
}
开发者ID:balagopalraj,项目名称:clearlinux,代码行数:21,代码来源:metadata_service.go
注:本文中的github.com/coreos/rkt/Godeps/_workspace/src/github.com/gorilla/mux.Vars函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论