forked from forgejo/forgejo
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"` ``
This commit is contained in:
parent
265a28802a
commit
236c645bf1
15 changed files with 103 additions and 80 deletions
|
@ -6,6 +6,7 @@ package integration
|
|||
import (
|
||||
"net/url"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
|
@ -24,9 +25,9 @@ func getCreateRepoFilesOptions(repo *repo_model.Repository) *files_service.Chang
|
|||
return &files_service.ChangeRepoFilesOptions{
|
||||
Files: []*files_service.ChangeRepoFile{
|
||||
{
|
||||
Operation: "create",
|
||||
TreePath: "new/file.txt",
|
||||
Content: "This is a NEW file",
|
||||
Operation: "create",
|
||||
TreePath: "new/file.txt",
|
||||
ContentReader: strings.NewReader("This is a NEW file"),
|
||||
},
|
||||
},
|
||||
OldBranch: repo.DefaultBranch,
|
||||
|
@ -41,10 +42,10 @@ func getUpdateRepoFilesOptions(repo *repo_model.Repository) *files_service.Chang
|
|||
return &files_service.ChangeRepoFilesOptions{
|
||||
Files: []*files_service.ChangeRepoFile{
|
||||
{
|
||||
Operation: "update",
|
||||
TreePath: "README.md",
|
||||
SHA: "4b4851ad51df6a7d9f25c979345979eaeb5b349f",
|
||||
Content: "This is UPDATED content for the README file",
|
||||
Operation: "update",
|
||||
TreePath: "README.md",
|
||||
SHA: "4b4851ad51df6a7d9f25c979345979eaeb5b349f",
|
||||
ContentReader: strings.NewReader("This is UPDATED content for the README file"),
|
||||
},
|
||||
},
|
||||
OldBranch: repo.DefaultBranch,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue