提交 6c684190 编写于 作者: R Rossen Stoyanchev

Polishing contribution

Closes gh-27216
上级 a747cc3e
......@@ -356,7 +356,7 @@ public class SynchronossPartHttpMessageReader extends LoggingCodecSupport implem
this.isFilePart = (MultipartUtils.getFileName(headers) != null);
this.partSize = 0;
if (maxParts > 0 && index > maxParts) {
throw new DecodingException("Too many parts (" + index + "/" + maxParts + " allowed)");
throw new DecodingException("Too many parts: Part[" + index + "] but maxParts=" + maxParts);
}
return this.storageFactory.newStreamStorageForPartBody(headers, index);
}
......
/*
* Copyright 2002-2020 the original author or authors.
* Copyright 2002-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
......@@ -165,37 +165,31 @@ public class SynchronossPartHttpMessageReaderTests extends AbstractLeakCheckingT
@Test
void readTooManyParts() {
testMultipartExceptions(reader -> reader.setMaxParts(1), ex -> {
assertThat(ex)
.isInstanceOf(DecodingException.class)
.hasMessageStartingWith("Failure while parsing part[2]");
assertThat(ex.getCause())
.hasMessage("Too many parts (2/1 allowed)");
}
testMultipartExceptions(reader -> reader.setMaxParts(1),
ex -> assertThat(ex)
.isInstanceOf(DecodingException.class)
.hasMessageStartingWith("Failure while parsing part[2]")
.hasRootCauseMessage("Too many parts: Part[2] but maxParts=1")
);
}
@Test
void readFilePartTooBig() {
testMultipartExceptions(reader -> reader.setMaxDiskUsagePerPart(5), ex -> {
assertThat(ex)
.isInstanceOf(DecodingException.class)
.hasMessageStartingWith("Failure while parsing part[1]");
assertThat(ex.getCause())
.hasMessage("Part[1] exceeded the disk usage limit of 5 bytes");
}
testMultipartExceptions(reader -> reader.setMaxDiskUsagePerPart(5),
ex -> assertThat(ex)
.isInstanceOf(DecodingException.class)
.hasMessageStartingWith("Failure while parsing part[1]")
.hasRootCauseMessage("Part[1] exceeded the disk usage limit of 5 bytes")
);
}
@Test
void readPartHeadersTooBig() {
testMultipartExceptions(reader -> reader.setMaxInMemorySize(1), ex -> {
assertThat(ex)
.isInstanceOf(DecodingException.class)
.hasMessageStartingWith("Failure while parsing part[1]");
assertThat(ex.getCause())
.hasMessage("Part[1] exceeded the in-memory limit of 1 bytes");
}
testMultipartExceptions(reader -> reader.setMaxInMemorySize(1),
ex -> assertThat(ex)
.isInstanceOf(DecodingException.class)
.hasMessageStartingWith("Failure while parsing part[1]")
.hasRootCauseMessage("Part[1] exceeded the in-memory limit of 1 bytes")
);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册