mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09: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:
		| @@ -78,7 +78,7 @@ type InstallForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *InstallForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -99,7 +99,7 @@ type RegisterForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *RegisterForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -148,7 +148,7 @@ type MustChangePasswordForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *MustChangePasswordForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -162,7 +162,7 @@ type SignInForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *SignInForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -182,7 +182,7 @@ type AuthorizationForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *AuthorizationForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -197,7 +197,7 @@ type GrantApplicationForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *GrantApplicationForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -216,7 +216,7 @@ type AccessTokenForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *AccessTokenForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -227,7 +227,7 @@ type IntrospectTokenForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *IntrospectTokenForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -252,7 +252,7 @@ type UpdateProfileForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *UpdateProfileForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -263,7 +263,7 @@ type UpdateLanguageForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *UpdateLanguageForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -283,7 +283,7 @@ type AvatarForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *AvatarForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -294,7 +294,7 @@ type AddEmailForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *AddEmailForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -305,7 +305,7 @@ type UpdateThemeForm struct { | ||||
|  | ||||
| // Validate validates the field | ||||
| func (f *UpdateThemeForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -332,7 +332,7 @@ type ChangePasswordForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *ChangePasswordForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -343,7 +343,7 @@ type AddOpenIDForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *AddOpenIDForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -360,7 +360,7 @@ type AddKeyForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *AddKeyForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -372,7 +372,7 @@ type AddSecretForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *AddSecretForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -384,7 +384,7 @@ type NewAccessTokenForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *NewAccessTokenForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -403,7 +403,7 @@ type EditOAuth2ApplicationForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *EditOAuth2ApplicationForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -414,7 +414,7 @@ type TwoFactorAuthForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *TwoFactorAuthForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -425,7 +425,7 @@ type TwoFactorScratchAuthForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *TwoFactorScratchAuthForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -436,7 +436,7 @@ type WebauthnRegistrationForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *WebauthnRegistrationForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -447,7 +447,7 @@ type WebauthnDeleteForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *WebauthnDeleteForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|  | ||||
| @@ -459,6 +459,6 @@ type PackageSettingForm struct { | ||||
|  | ||||
| // Validate validates the fields | ||||
| func (f *PackageSettingForm) Validate(req *http.Request, errs binding.Errors) binding.Errors { | ||||
| 	ctx := context.GetContext(req) | ||||
| 	ctx := context.GetValidateContext(req) | ||||
| 	return middleware.Validate(errs, ctx.Data, f, ctx.Locale) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user