Package Usage: go: github.com/gorilla/context
Package context stores values shared during a request lifetime.
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. You should either use *just*
gorilla/context, or moving forward, the new `http.Request.Context()`.
For example, a router can set variables extracted from the URL and later
application handlers can access those values, or it can be used to store
sessions values to be saved at the end of a request. There are several
others common uses.
The idea was posted by Brad Fitzpatrick to the go-nuts mailing list:
Here's the basic usage: first define the keys that you will need. The key
type is interface{} so a key can be of any type that supports equality.
Here we define a key using a custom int type to avoid name collisions:
Then set a variable. Variables are bound to an http.Request object, so you
need a request instance to set a value:
The application can later access the variable using the same key you provided:
And that's all about the basic usage. We discuss some other ideas below.
Any type can be stored in the context. To enforce a given type, make the key
private and wrap Get() and Set() to accept and return values of a specific
type:
Variables must be cleared at the end of a request, to remove all values
that were stored. This can be done in an http.Handler, after a request was
served. Just call Clear() passing the request:
...or use ClearHandler(), which conveniently wraps an http.Handler to clear
variables at the end of a request lifetime.
The Routers from the packages gorilla/mux and gorilla/pat call Clear()
so if you are using either of them you don't need to clear the context manually.
2 versions
Latest release: over 1 year ago
4,065 dependent packages
View more package details: https://packages.ecosystem.code.gouv.fr/registries/proxy.golang.org/packages/github.com/gorilla/context
Dependent Repos 6
pocs/mdl-qor-sdk
This SDK is based upon [QOR](https://github.com/qor/qor) and aims to provide a boilerplate for quickly prototyping admin types applications.Last synced: 7 months ago - Pushed: 11 months ago
swh/infra/ci-cd/3rdparty/cert-manager-webhook-gandi
Last synced: 7 months ago - Pushed: 11 months ago
radiofrance/ipahealthcheck_exporter Fork of camptocamp/ipahealthcheck_exporter
Prometheus exporter for exposing ipa-healthcheck tool checks as metricsSize: 60.5 KB - Last synced: 7 days ago - Pushed: almost 4 years ago

Spirals-Team/genpack-swarm Fork of docker-archive/classicswarm
GenPack is an extension of Docker Swarm to better pack containers onto hostsSize: 12.8 MB - Last synced: 7 days ago - Pushed: over 8 years ago
