aboutsummaryrefslogtreecommitdiffstats
path: root/modules/context
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2021-05-31 07:18:11 +0100
committerGitHub <noreply@github.com>2021-05-31 02:18:11 -0400
commit3183a465d71a13535e52589bb85b987176872fcd (patch)
tree03d1cb88627176f35e168cda5e46df197dcc3110 /modules/context
parent518ed504ef8714eeac126fc59ff57f50a98e3692 (diff)
downloadgitea-3183a465d71a13535e52589bb85b987176872fcd.tar.gz
gitea-3183a465d71a13535e52589bb85b987176872fcd.zip
Make modules/context.Context a context.Context (#16031)
* Make modules/context.Context a context.Context Signed-off-by: Andrew Thornton <art27@cantab.net> * Simplify context calls Signed-off-by: Andrew Thornton <art27@cantab.net> * Set the base context for requests to the HammerContext Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Diffstat (limited to 'modules/context')
-rw-r--r--modules/context/context.go22
1 files changed, 21 insertions, 1 deletions
diff --git a/modules/context/context.go b/modules/context/context.go
index d812d7b58c..d45e9ff87c 100644
--- a/modules/context/context.go
+++ b/modules/context/context.go
@@ -509,7 +509,7 @@ func (ctx *Context) ParamsInt64(p string) int64 {
// SetParams set params into routes
func (ctx *Context) SetParams(k, v string) {
- chiCtx := chi.RouteContext(ctx.Req.Context())
+ chiCtx := chi.RouteContext(ctx)
chiCtx.URLParams.Add(strings.TrimPrefix(k, ":"), url.PathEscape(v))
}
@@ -528,6 +528,26 @@ func (ctx *Context) Status(status int) {
ctx.Resp.WriteHeader(status)
}
+// Deadline is part of the interface for context.Context and we pass this to the request context
+func (ctx *Context) Deadline() (deadline time.Time, ok bool) {
+ return ctx.Req.Context().Deadline()
+}
+
+// Done is part of the interface for context.Context and we pass this to the request context
+func (ctx *Context) Done() <-chan struct{} {
+ return ctx.Req.Context().Done()
+}
+
+// Err is part of the interface for context.Context and we pass this to the request context
+func (ctx *Context) Err() error {
+ return ctx.Req.Context().Err()
+}
+
+// Value is part of the interface for context.Context and we pass this to the request context
+func (ctx *Context) Value(key interface{}) interface{} {
+ return ctx.Req.Context().Value(key)
+}
+
// Handler represents a custom handler
type Handler func(*Context)