1
// Copyright 2012 The Gorilla Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
12
// Original implementation by Brad Fitzpatrick:
13
// http://groups.google.com/group/golang-nuts/msg/e2d679d303aa5d53
15
// DefaultContext is a default context instance.
16
var DefaultContext = new(Context)
18
// Context stores values for requests.
21
m map[*http.Request]map[interface{}]interface{}
24
// Set stores a value for a given key in a given request.
25
func (c *Context) Set(req *http.Request, key, val interface{}) {
29
c.m = make(map[*http.Request]map[interface{}]interface{})
32
c.m[req] = make(map[interface{}]interface{})
37
// Get returns a value registered for a given key in a given request.
38
func (c *Context) Get(req *http.Request, key interface{}) interface{} {
41
if c.m != nil && c.m[req] != nil {
47
// Delete removes the value for a given key in a given request.
48
func (c *Context) Delete(req *http.Request, key interface{}) {
51
if c.m != nil && c.m[req] != nil {
56
// Clear removes all values for a given request.
57
func (c *Context) Clear(req *http.Request) {