Skip to content

Commit 5e2cfa9

Browse files
authored
Merge branch 'master' into add-executor-service-to-builder
2 parents a491d99 + ef85db9 commit 5e2cfa9

File tree

5 files changed

+23
-8
lines changed

5 files changed

+23
-8
lines changed

README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,19 @@ Java 1.8 or above.
1212
<dependency>
1313
<groupId>io.minio</groupId>
1414
<artifactId>minio</artifactId>
15-
<version>8.5.11</version>
15+
<version>8.5.12</version>
1616
</dependency>
1717
```
1818

1919
## Gradle usage
2020
```
2121
dependencies {
22-
implementation("io.minio:minio:8.5.11")
22+
implementation("io.minio:minio:8.5.12")
2323
}
2424
```
2525

2626
## JAR download
27-
The latest JAR can be downloaded from [here](https://repo1.maven.org/maven2/io/minio/minio/8.5.11/)
27+
The latest JAR can be downloaded from [here](https://repo1.maven.org/maven2/io/minio/minio/8.5.12/)
2828

2929
## Quick Start Example - File Uploader
3030
This example program connects to an object storage server, makes a bucket on the server and then uploads a file to the bucket.
@@ -92,12 +92,12 @@ public class FileUploader {
9292

9393
#### Compile FileUploader
9494
```sh
95-
$ javac -cp minio-8.5.11-all.jar FileUploader.java
95+
$ javac -cp minio-8.5.12-all.jar FileUploader.java
9696
```
9797

9898
#### Run FileUploader
9999
```sh
100-
$ java -cp minio-8.5.11-all.jar:. FileUploader
100+
$ java -cp minio-8.5.12-all.jar:. FileUploader
101101
'/home/user/Photos/asiaphotos.zip' is successfully uploaded as object 'asiaphotos-2015.zip' to bucket 'asiatrip'.
102102

103103
$ mc ls play/asiatrip/

api/src/main/java/io/minio/BucketArgs.java

+11-1
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,13 @@ public abstract static class Builder<B extends Builder<B, A>, A extends BucketAr
3939
extends BaseArgs.Builder<B, A> {
4040
private static final Pattern BUCKET_NAME_REGEX =
4141
Pattern.compile("^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$");
42+
protected boolean skipValidation = false;
4243

4344
protected void validateBucketName(String name) {
4445
validateNotNull(name, "bucket name");
46+
if (skipValidation) {
47+
return;
48+
}
4549

4650
if (!BUCKET_NAME_REGEX.matcher(name).find()) {
4751
throw new IllegalArgumentException(
@@ -63,7 +67,7 @@ protected void validateBucketName(String name) {
6367
}
6468

6569
private void validateRegion(String region) {
66-
if (region != null && !HttpUtils.REGION_REGEX.matcher(region).find()) {
70+
if (!skipValidation && region != null && !HttpUtils.REGION_REGEX.matcher(region).find()) {
6771
throw new IllegalArgumentException("invalid region " + region);
6872
}
6973
}
@@ -80,6 +84,12 @@ public B bucket(String name) {
8084
return (B) this;
8185
}
8286

87+
@SuppressWarnings("unchecked") // Its safe to type cast to B as B extends this class.
88+
public B skipValidation(boolean skipValidation) {
89+
this.skipValidation = skipValidation;
90+
return (B) this;
91+
}
92+
8393
@SuppressWarnings("unchecked") // Its safe to type cast to B as B extends this class.
8494
public B region(String region) {
8595
validateRegion(region);

api/src/main/java/io/minio/ObjectArgs.java

+3
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ public abstract static class Builder<B extends Builder<B, A>, A extends ObjectAr
4343
extends BucketArgs.Builder<B, A> {
4444
protected void validateObjectName(String name) {
4545
validateNotEmptyString(name, "object name");
46+
if (skipValidation) {
47+
return;
48+
}
4649
for (String token : name.split("/")) {
4750
if (token.equals(".") || token.equals("..")) {
4851
throw new IllegalArgumentException(

api/src/main/java/io/minio/Signer.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -134,12 +134,14 @@ private void setCanonicalHeaders(Set<String> ignored_headers) {
134134
// https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html
135135
// * Header having multiple values should be converted to comma separated values.
136136
// * Multi-spaced value of header should be trimmed to single spaced value.
137+
// * Trim leading/trailing spaces in header value (As OkHttp trims leading/trailing spaces
138+
// automatically, this is added for completion).
137139
this.canonicalHeaders.put(
138140
signedHeader,
139141
headers.values(name).stream()
140142
.map(
141143
value -> {
142-
return value.replaceAll("( +)", " ");
144+
return value.replaceAll("( +)", " ").trim();
143145
})
144146
.collect(Collectors.joining(",")));
145147
}

build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ apply plugin: "de.marcphilipp.nexus-publish"
3434

3535
allprojects {
3636
group = 'io.minio'
37-
version = '8.5.12'
37+
version = '8.5.13'
3838
if (!project.hasProperty('release')) {
3939
version += '-DEV'
4040
}

0 commit comments

Comments
 (0)