forgejo/routers/api/v1/repo
qwerty287 df9612bb53
Add API to serve blob or LFS file content (#19689)
* Add LFS API

* Update routers/api/v1/repo/file.go

Co-authored-by: Gusted <williamzijl7@hotmail.com>

* Apply suggestions

* Apply suggestions

* Update routers/api/v1/repo/file.go

Co-authored-by: Gusted <williamzijl7@hotmail.com>

* Report errors

* ADd test

* Use own repo for test

* Use different repo name

* Improve handling

* Slight restructures

1. Avoid reading the blob data multiple times
2. Ensure that caching is only checked when about to serve the blob/lfs
3. Avoid nesting by returning early
4. Make log message a bit more clear
5. Ensure that the dataRc is closed by defer when passed to ServeData

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: Gusted <williamzijl7@hotmail.com>
Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2022-06-04 21:17:53 +08:00
..
blob.go RepoAssignment ensure to close before overwrite (#19449) 2022-04-21 17:17:57 +02:00
branch.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
collaborators.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
commits.go Pass gitRepo down to GetRawDiff, since its used for main repo and wiki (#19461) 2022-04-25 20:45:18 +02:00
file.go Add API to serve blob or LFS file content (#19689) 2022-06-04 21:17:53 +08:00
fork.go Move access and repo permission to models/perm/access (#19350) 2022-05-11 12:09:36 +02:00
git_hook.go
git_ref.go
hook.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
hook_test.go
issue.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
issue_comment.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
issue_label.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
issue_reaction.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
issue_stopwatch.go Use ctx instead of db.DefaultContext in some packages(routers/services/modules) (#19163) 2022-03-22 16:22:54 +01:00
issue_subscription.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
issue_tracked_time.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
key.go Use ctx instead of db.DefaultContext in some packages(routers/services/modules) (#19163) 2022-03-22 16:22:54 +01:00
label.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
language.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
main_test.go Use queue instead of memory queue in webhook send service (#19390) 2022-04-25 20:03:01 +02:00
migrate.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
milestone.go Move milestone to models/issues/ (#19278) 2022-04-08 17:11:15 +08:00
mirror.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
notes.go RepoAssignment ensure to close before overwrite (#19449) 2022-04-21 17:17:57 +02:00
patch.go Add "Allow edits from maintainer" feature (#18002) 2022-04-28 17:45:33 +02:00
pull.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
pull_review.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
release.go improvement some release related code (#19867) 2022-06-03 02:13:58 -04:00
release_attachment.go improvement some release related code (#19867) 2022-06-03 02:13:58 -04:00
release_tags.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
repo.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
repo_test.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
star.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
status.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
subscriber.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
tag.go Renamed ctx.User to ctx.Doer. (#19161) 2022-03-22 15:03:22 +08:00
teams.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
topic.go
transfer.go Move almost all functions' parameter db.Engine to context.Context (#19748) 2022-05-20 22:08:52 +08:00
tree.go
wiki.go Make git.OpenRepository accept Context (#19260) 2022-03-30 03:13:41 +08:00