From 755cf1065982499321821167306e98e5085e6b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zlatko=20=C4=8Calu=C5=A1i=C4=87?= Date: Tue, 27 Dec 2016 18:57:49 +0100 Subject: [PATCH] Use goji.io pat package to extract params --- handlers.go | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/handlers.go b/handlers.go index 47181ff..68bbe74 100644 --- a/handlers.go +++ b/handlers.go @@ -9,8 +9,9 @@ import ( "net/http" "os" "path/filepath" - "strings" "time" + + "goji.io/pat" ) func isHashed(dir string) bool { @@ -113,8 +114,7 @@ func ListBlobs(w http.ResponseWriter, r *http.Request) { if *debug { log.Println("ListBlobs()") } - vars := strings.Split(r.RequestURI, "/") - dir := vars[1] + dir := pat.Param(r, "type") path := filepath.Join(*path, dir) items, err := ioutil.ReadDir(path) @@ -154,9 +154,8 @@ func CheckBlob(w http.ResponseWriter, r *http.Request) { if *debug { log.Println("CheckBlob()") } - vars := strings.Split(r.RequestURI, "/") - dir := vars[1] - name := vars[2] + dir := pat.Param(r, "type") + name := pat.Param(r, "name") if isHashed(dir) { name = filepath.Join(name[:2], name) @@ -177,9 +176,8 @@ func GetBlob(w http.ResponseWriter, r *http.Request) { if *debug { log.Println("GetBlob()") } - vars := strings.Split(r.RequestURI, "/") - dir := vars[1] - name := vars[2] + dir := pat.Param(r, "type") + name := pat.Param(r, "name") if isHashed(dir) { name = filepath.Join(name[:2], name) @@ -201,9 +199,8 @@ func SaveBlob(w http.ResponseWriter, r *http.Request) { if *debug { log.Println("SaveBlob()") } - vars := strings.Split(r.RequestURI, "/") - dir := vars[1] - name := vars[2] + dir := pat.Param(r, "type") + name := pat.Param(r, "name") if dir == "keys" { if _, err := os.Stat("keys"); err != nil && os.IsNotExist(err) { @@ -257,9 +254,8 @@ func DeleteBlob(w http.ResponseWriter, r *http.Request) { if *debug { log.Println("DeleteBlob()") } - vars := strings.Split(r.RequestURI, "/") - dir := vars[1] - name := vars[2] + dir := pat.Param(r, "type") + name := pat.Param(r, "name") if isHashed(dir) { name = filepath.Join(name[:2], name)