mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Refactor web package and context package (#25298)
1. The "web" package shouldn't depends on "modules/context" package, instead, let each "web context" register themselves to the "web" package. 2. The old Init/Free doesn't make sense, so simplify it * The ctx in "Init(ctx)" is never used, and shouldn't be used that way * The "Free" is never called and shouldn't be called because the SSPI instance is shared --------- Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
		| @@ -11,6 +11,8 @@ import ( | ||||
|  | ||||
| 	"code.gitea.io/gitea/modules/graceful" | ||||
| 	"code.gitea.io/gitea/modules/process" | ||||
| 	"code.gitea.io/gitea/modules/web" | ||||
| 	web_types "code.gitea.io/gitea/modules/web/types" | ||||
| ) | ||||
|  | ||||
| // PrivateContext represents a context for private routes | ||||
| @@ -21,6 +23,12 @@ type PrivateContext struct { | ||||
| 	Repo *Repository | ||||
| } | ||||
|  | ||||
| func init() { | ||||
| 	web.RegisterResponseStatusProvider[*PrivateContext](func(req *http.Request) web_types.ResponseStatusProvider { | ||||
| 		return req.Context().Value(privateContextKey).(*PrivateContext) | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| // Deadline is part of the interface for context.Context and we pass this to the request context | ||||
| func (ctx *PrivateContext) Deadline() (deadline time.Time, ok bool) { | ||||
| 	if ctx.Override != nil { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user