forgejo/modules
wxiaoguang 6b33152b7d
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.
2023-05-21 09:50:53 +08:00
..
actions show workflow config error on file view also (#24267) 2023-04-22 22:16:54 -04:00
activitypub Add Chef package registry (#22554) 2023-02-06 09:49:21 +08:00
analyze
assetfs Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
auth Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
avatar Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2023-05-13 20:59:11 +02:00
base Use a general Eval function for expressions in templates. (#23927) 2023-04-07 21:25:49 +08:00
cache Update redis library to support redis v7 (#24114) 2023-04-13 18:41:04 -04:00
charset Update go tool dependencies, restructure lint targets (#24239) 2023-04-22 14:53:00 -04:00
container
context Decouple the different contexts from each other (#24786) 2023-05-21 09:50:53 +08:00
csv Refactor locale number (#24134) 2023-04-17 11:37:23 +08:00
doctor Merge setting.InitXXX into one function with options (#24389) 2023-05-04 11:55:35 +08:00
emoji
eventsource
generate
git Add status indicator on main home screen for each repo (#24638) 2023-05-13 21:59:01 +00:00
gitgraph Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
graceful Implement systemd-notify protocol (#21151) 2023-05-15 22:20:30 +00:00
hcaptcha Consume hcaptcha and pwn deps (#22610) 2023-01-29 09:49:51 -06:00
highlight test_env: hardcode major go version in use (#23464) 2023-03-14 16:09:01 -04:00
hostmatcher
html
httpcache Use standard HTTP library to serve files (#24693) 2023-05-13 16:04:57 +02:00
httplib Use standard HTTP library to serve files (#24693) 2023-05-13 16:04:57 +02:00
indexer Some refactors for issues stats (#24793) 2023-05-19 22:17:48 +08:00
issue/template Allow issue templates to not render title (#22589) 2023-01-26 22:45:49 -06:00
json
label Make label templates have consistent behavior and priority (#23749) 2023-04-10 16:44:02 +08:00
lfs Make repository response support HTTP range request (#24592) 2023-05-09 15:34:36 +08:00
log Enable forbidigo linter (#24278) 2023-04-24 05:50:58 -04:00
markup Add RTL rendering support to Markdown (#24816) 2023-05-20 23:02:52 +02:00
mcaptcha
metrics include build info in Prometheus metrics (#22819) 2023-02-08 19:54:01 +02:00
migration Scoped labels (#22585) 2023-02-18 21:17:39 +02:00
mirror Rewrite queue (#24505) 2023-05-08 19:49:59 +08:00
nosql Update redis library to support redis v7 (#24114) 2023-04-13 18:41:04 -04:00
notification Rewrite queue (#24505) 2023-05-08 19:49:59 +08:00
options Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
packages Add Go package registry (#24687) 2023-05-14 23:38:40 +08:00
paginator Use more specific test methods (#24265) 2023-04-22 17:56:27 -04:00
pprof
private Fix incorrect internal response type (#24173) 2023-04-17 23:10:40 -04:00
process Improve trace logging for pulls and processes (#22633) 2023-02-03 18:11:48 -05:00
proxy Use proxy for pull mirror (#22771) 2023-02-11 08:39:50 +08:00
proxyprotocol
public Use standard HTTP library to serve files (#24693) 2023-05-13 16:04:57 +02:00
queue Improve queue & process & stacktrace (#24636) 2023-05-11 07:45:47 +00:00
recaptcha
references Use correct captured group range when parsing cross-reference (#22672) 2023-01-31 10:08:05 +01:00
regexplru
repository Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2023-05-13 20:59:11 +02:00
secret Improve decryption failure message (#24573) 2023-05-07 19:29:43 +08:00
session Update redis library to support redis v7 (#24114) 2023-04-13 18:41:04 -04:00
setting Implement actions artifacts (#22738) 2023-05-19 21:37:57 +08:00
sitemap
ssh
storage Implement actions artifacts (#22738) 2023-05-19 21:37:57 +08:00
structs Make repo migration cancelable and fix various bugs (#24605) 2023-05-11 08:25:46 +00:00
svg Use a general approach to access custom/static/builtin assets (#24022) 2023-04-12 18:16:45 +08:00
sync
system
templates Modify luminance calculation and extract related functions into single files (#24586) 2023-05-10 11:19:03 +00:00
test Decouple the different contexts from each other (#24786) 2023-05-21 09:50:53 +08:00
testlogger Make testlogger output "TestLogger" prefix (#24683) 2023-05-12 14:20:29 +00:00
timeutil Fix incorrect webhook time and use relative-time to display it (#24477) 2023-05-03 19:53:43 -04:00
translation Decouple the different contexts from each other (#24786) 2023-05-21 09:50:53 +08:00
turnstile Add new captcha: cloudflare turnstile (#22369) 2023-02-05 15:29:03 +08:00
typesniffer Do not recognize text files as audio (#23355) 2023-03-07 22:40:41 -05:00
updatechecker
upload
uri
user
util Add Alpine package registry (#23714) 2023-05-12 17:27:50 +00:00
validation Map OIDC groups to Orgs/Teams (#21441) 2023-02-08 14:44:42 +08:00
web Decouple the different contexts from each other (#24786) 2023-05-21 09:50:53 +08:00
webhook