mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Decouple the different contexts from each other (#24786)
Replace #16455 Close #21803 Mixing different Gitea contexts together causes some problems: 1. Unable to respond proper content when error occurs, eg: Web should respond HTML while API should respond JSON 2. Unclear dependency, eg: it's unclear when Context is used in APIContext, which fields should be initialized, which methods are necessary. To make things clear, this PR introduces a Base context, it only provides basic Req/Resp/Data features. This PR mainly moves code. There are still many legacy problems and TODOs in code, leave unrelated changes to future PRs.
This commit is contained in:
		@@ -10,7 +10,7 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// GetQueryBeforeSince return parsed time (unix format) from URL query's before and since
 | 
			
		||||
func GetQueryBeforeSince(ctx *Context) (before, since int64, err error) {
 | 
			
		||||
func GetQueryBeforeSince(ctx *Base) (before, since int64, err error) {
 | 
			
		||||
	qCreatedBefore, err := prepareQueryArg(ctx, "before")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return 0, 0, err
 | 
			
		||||
@@ -48,7 +48,7 @@ func parseTime(value string) (int64, error) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// prepareQueryArg unescape and trim a query arg
 | 
			
		||||
func prepareQueryArg(ctx *Context, name string) (value string, err error) {
 | 
			
		||||
func prepareQueryArg(ctx *Base, name string) (value string, err error) {
 | 
			
		||||
	value, err = url.PathUnescape(ctx.FormString(name))
 | 
			
		||||
	value = strings.TrimSpace(value)
 | 
			
		||||
	return value, err
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user