Kaynağa Gözat

add vars into router

tags/v0.9.0
jimzhan 9 yıl önce
ebeveyn
işleme
07369cd9ab
3 değiştirilmiş dosya ile 19 ekleme ve 11 silme
  1. +5
    -0
      router.go
  2. +14
    -0
      router_test.go
  3. +0
    -11
      utils.go

+ 5
- 0
router.go Dosyayı Görüntüle

@@ -141,3 +141,8 @@ func (self *Router) Run() {
Fatalf("Failed to start the server: %v", err)
}
}

// Vars returns the route variables for the current request, if any.
func (self *Router) Vars(r *http.Request) map[string]string {
return mux.Vars(r)
}

+ 14
- 0
router_test.go Dosyayı Görüntüle

@@ -122,3 +122,17 @@ func TestUse(t *testing.T) {
So(response.Header().Get("Content-Type"), ShouldEqual, "application/json")
})
}

func TestVars(t *testing.T) {
Convey("rex.Vars", t, func() {
app := New()
app.Get("/users/{id}", func(w http.ResponseWriter, r *http.Request) {
vars := app.Vars(r)
So(vars["id"], ShouldEqual, "123")
})

request, _ := http.NewRequest("GET", "/users/123", nil)
response := httptest.NewRecorder()
app.ServeHTTP(response, request)
})
}

+ 0
- 11
utils.go Dosyayı Görüntüle

@@ -1,12 +1 @@
package rex

import (
"net/http"

"github.com/gorilla/mux"
)

// Vars returns the route variables for the current request, if any.
func Vars(r *http.Request) map[string]string {
return mux.Vars(r)
}

Yükleniyor…
İptal
Kaydet