mirror of
https://github.com/matrix-org/dendrite
synced 2024-11-10 07:04:24 +00:00
Fix unlimitedSize uploads (#2317)
This commit is contained in:
parent
cd8fac152e
commit
a0f5d8e1a5
2 changed files with 23 additions and 1 deletions
|
@ -169,7 +169,7 @@ func (r *uploadRequest) doUpload(
|
|||
}
|
||||
|
||||
// Check if temp file size exceeds max file size configuration
|
||||
if bytesWritten > types.FileSizeBytes(*cfg.MaxFileSizeBytes) {
|
||||
if *cfg.MaxFileSizeBytes > 0 && bytesWritten > types.FileSizeBytes(*cfg.MaxFileSizeBytes) {
|
||||
fileutils.RemoveDir(tmpDir, r.Logger) // delete temp file
|
||||
return requestEntityTooLargeJSONResponse(*cfg.MaxFileSizeBytes)
|
||||
}
|
||||
|
|
|
@ -36,6 +36,7 @@ func Test_uploadRequest_doUpload(t *testing.T) {
|
|||
}
|
||||
|
||||
maxSize := config.FileSizeBytes(8)
|
||||
unlimitedSize := config.FileSizeBytes(0)
|
||||
logger := log.New().WithField("mediaapi", "test")
|
||||
testdataPath := filepath.Join(wd, "./testdata")
|
||||
|
||||
|
@ -117,6 +118,27 @@ func Test_uploadRequest_doUpload(t *testing.T) {
|
|||
},
|
||||
want: requestEntityTooLargeJSONResponse(maxSize),
|
||||
},
|
||||
{
|
||||
name: "upload ok with unlimited filesize",
|
||||
args: args{
|
||||
ctx: context.Background(),
|
||||
reqReader: strings.NewReader("test test test"),
|
||||
cfg: &config.MediaAPI{
|
||||
MaxFileSizeBytes: &unlimitedSize,
|
||||
BasePath: config.Path(testdataPath),
|
||||
AbsBasePath: config.Path(testdataPath),
|
||||
DynamicThumbnails: false,
|
||||
},
|
||||
db: db,
|
||||
},
|
||||
fields: fields{
|
||||
Logger: logger,
|
||||
MediaMetadata: &types.MediaMetadata{
|
||||
MediaID: "1339",
|
||||
UploadName: "test fail",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
|
|
Loading…
Reference in a new issue