diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2023-07-19 02:14:47 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-18 18:14:47 +0000 |
commit | 236c645bf16754ca9294545e71014a01a24ccfd8 (patch) | |
tree | 4ca9d8f93aca854d841a7379955e9653a8212546 /modules | |
parent | 265a28802a6062d86964c9bfe1959437eaf69afb (diff) | |
download | gitea-236c645bf16754ca9294545e71014a01a24ccfd8.tar.gz gitea-236c645bf16754ca9294545e71014a01a24ccfd8.zip |
Refactor "Content" for file uploading (#25851)
Before: the concept "Content string" is used everywhere. It has some
problems:
1. Sometimes it means "base64 encoded content", sometimes it means "raw
binary content"
2. It doesn't work with large files, eg: uploading a 1G LFS file would
make Gitea process OOM
This PR does the refactoring: use "ContentReader" / "ContentBase64"
instead of "Content"
This PR is not breaking because the key in API JSON is still "content":
`` ContentBase64 string `json:"content"` ``
Diffstat (limited to 'modules')
-rw-r--r-- | modules/structs/repo_file.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/modules/structs/repo_file.go b/modules/structs/repo_file.go index eb4f1c7dca..82bde96ab6 100644 --- a/modules/structs/repo_file.go +++ b/modules/structs/repo_file.go @@ -26,7 +26,7 @@ type CreateFileOptions struct { FileOptions // content must be base64 encoded // required: true - Content string `json:"content"` + ContentBase64 string `json:"content"` } // Branch returns branch name @@ -54,7 +54,7 @@ type UpdateFileOptions struct { DeleteFileOptions // content must be base64 encoded // required: true - Content string `json:"content"` + ContentBase64 string `json:"content"` // from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL FromPath string `json:"from_path" binding:"MaxSize(500)"` } @@ -74,7 +74,7 @@ type ChangeFileOperation struct { // required: true Path string `json:"path" binding:"Required;MaxSize(500)"` // new or updated file content, must be base64 encoded - Content string `json:"content"` + ContentBase64 string `json:"content"` // sha is the SHA for the file that already exists, required for update or delete SHA string `json:"sha"` // old path of the file to move |