mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-31 11:52:10 +00: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:
parent
6ba4f89723
commit
6b33152b7d
57 changed files with 885 additions and 781 deletions
|
@ -38,10 +38,12 @@ type LangType struct {
|
|||
}
|
||||
|
||||
var (
|
||||
lock *sync.RWMutex
|
||||
lock *sync.RWMutex
|
||||
|
||||
allLangs []*LangType
|
||||
allLangMap map[string]*LangType
|
||||
|
||||
matcher language.Matcher
|
||||
allLangs []*LangType
|
||||
allLangMap map[string]*LangType
|
||||
supportedTags []language.Tag
|
||||
)
|
||||
|
||||
|
@ -251,3 +253,9 @@ func (l *locale) PrettyNumber(v any) string {
|
|||
}
|
||||
return l.msgPrinter.Sprintf("%v", number.Decimal(v))
|
||||
}
|
||||
|
||||
func init() {
|
||||
// prepare a default matcher, especially for tests
|
||||
supportedTags = []language.Tag{language.English}
|
||||
matcher = language.NewMatcher(supportedTags)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue