mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08: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