forgejo/modules
wxiaoguang 6b33152b7d
Decouple the different contexts from each other ()
Replace 

Close 

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