blob: 6fb5fb0499f01c76e61952df0cbedf6aa4dae693 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# gorilla/context
[](https://img.shields.io/github/license/gorilla/.github)

[](https://codecov.io/github/gorilla/context)
[](https://godoc.org/github.com/gorilla/context)
[](https://sourcegraph.com/github.com/gorilla/context?badge)
[](https://bestpractices.coreinfrastructure.org/projects/7656)

> ⚠⚠⚠ **Note** ⚠⚠⚠ gorilla/context, having been born well before `context.Context` existed, does not play well
> with the shallow copying of the request that [`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) (added to net/http Go 1.7 onwards) performs.
>
> Using gorilla/context may lead to memory leaks under those conditions, as the pointers to each `http.Request` become "islanded" and will not be cleaned up when the response is sent.
>
> You should use the `http.Request.Context()` feature in Go 1.7.
gorilla/context is a general purpose registry for global request variables.
* It stores a `map[*http.Request]map[interface{}]interface{}` as a global singleton, and thus tracks variables by their HTTP request.
### License
See the LICENSE file for details.
|