summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-07-19 02:14:47 +0800
committerGitHub <noreply@github.com>2023-07-18 18:14:47 +0000
commit236c645bf16754ca9294545e71014a01a24ccfd8 (patch)
tree4ca9d8f93aca854d841a7379955e9653a8212546 /modules
parent265a28802a6062d86964c9bfe1959437eaf69afb (diff)
downloadgitea-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.go6
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