func (c *Context) ClearNamespace(req *http.Request, ns Namespacer) {
	c.lk.Lock()
	defer c.lk.Unlock()
	if c.m != nil {
		if c.m[req] != nil {
			delete(c.m[req], ns)
		}
	}
}
ClearNamespace removes the value from a given namespace in a given request.
package context
import (
	"http"
	"sync"
)
var DefaultContext = new(Context)
type contextMap map[*http.Request]namespaceMap
type namespaceMap map[Namespacer]interface{}
type Context struct {
	lk sync.Mutex
	m  contextMap
}
func (c *Context) Get(req *http.Request, ns Namespacer) interface{} {
	c.lk.Lock()
	defer c.lk.Unlock()
	if c.m != nil {
		if c.m[req] != nil {
			return c.m[req][ns]
		}
	}
	return nil
}
func (c *Context) Set(req *http.Request, ns Namespacer, val interface{}) {
	c.lk.Lock()
	defer c.lk.Unlock()
	if c.m == nil {
		c.m = make(contextMap)
	}
	if c.m[req] == nil {
		c.m[req] = make(namespaceMap)
	}
	c.m[req][ns] = val
}
func (c *Context) Clear(req *http.Request) {
	c.lk.Lock()
	defer c.lk.Unlock()
	if c.m != nil {
		if c.m[req] != nil {
			delete(c.m, req)
		}
	}
}