From 08e2e8a9bc63e56764888f6519b58c2485b13b47 Mon Sep 17 00:00:00 2001 From: Pieter Joost van de Sande Date: Mon, 15 Jul 2013 17:28:51 +0200 Subject: [PATCH] Remove GetAllOk method and GetAll now returns nil for invalid request --- context.go | 10 ++++++---- context_test.go | 16 ++++------------ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/context.go b/context.go index 8908d3f..f6f0117 100644 --- a/context.go +++ b/context.go @@ -48,13 +48,15 @@ func GetOk(r *http.Request, key interface{}) (interface{}, bool) { return nil, false } -// GetAll returns all stored values for the request as a map. -func GetAll(r *http.Request) map[interface{}]interface{} { +// GetAll returns all stored values for the request as a map. Nil is returned for invalid requests. +func GetAll(r *http.Request) *map[interface{}]interface{} { mutex.Lock() defer mutex.Unlock() - context, _ := data[r] - return context + if context, ok := data[r]; ok { + return &context + } + return nil } // GetAll returns all stored values for the request as a map. It returns not ok diff --git a/context_test.go b/context_test.go index 9f05974..0742c81 100644 --- a/context_test.go +++ b/context_test.go @@ -54,21 +54,13 @@ func TestContext(t *testing.T) { // GetAll() values := GetAll(r) - assertEqual(len(values), 3) + assertEqual(len(*values), 3) // GetAll() for empty request 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) + if values != nil { + t.Error("GetAll didn't return nil value for invalid request") + } // Delete() Delete(r, key1)