Browse Source

Adds GetAllOk

Pieter Joost van de Sande 13 years ago
committed by Adam Mckaig
parent
commit
77bafb62fd
2 changed files with 20 additions and 0 deletions
  1. +10
    -0
      context.go
  2. +10
    -0
      context_test.go

+ 10
- 0
context.go View File

@ -57,6 +57,16 @@ func GetAll(r *http.Request) map[interface{}]interface{} {
return context
}
// GetAll returns all stored values for the request as a map. It returns not ok
// if the request was never registered.
func GetAllOk(r *http.Request) (map[interface{}]interface{}, bool) {
mutex.Lock()
defer mutex.Unlock()
context, ok := data[r]
return context, ok
}
// Delete removes a value stored for a given key in a given request.
func Delete(r *http.Request, key interface{}) {
mutex.Lock()


+ 10
- 0
context_test.go View File

@ -60,6 +60,16 @@ func TestContext(t *testing.T) {
values = GetAll(emptyR)
assertEqual(len(values), 0)
// GetAllOk()
values, ok = GetAllOk(r)
assertEqual(ok, true)
assertEqual(len(values), 3)
// GetAllOk() for empty request
values, ok = GetAllOk(emptyR)
assertEqual(ok, false)
assertEqual(len(values), 0)
// Delete()
Delete(r, key1)
assertEqual(Get(r, key1), nil)


Loading…
Cancel
Save