Skip to content

Commit 1b64e11

Browse files
committed
simplify
1 parent 0aa3cf2 commit 1b64e11

File tree

5 files changed

+10
-9
lines changed

5 files changed

+10
-9
lines changed

src/main/java/com/emc/object/s3/jersey/ChecksumRequestFilter.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ public class ChecksumRequestFilter implements ClientRequestFilter {
1919

2020
private S3Config s3Config;
2121
private S3Signer signer;
22-
private ThreadLocal<ClientRequestContext> requestContextThreadLocal = new ThreadLocal<>();
23-
private ThreadLocal<OutputStream> bufferThreadLocal = new ThreadLocal<>();
22+
private ClientRequestContext clientRequestContext;
23+
private OutputStream buffer;
2424

2525
public ChecksumRequestFilter(S3Config s3Config) {
2626
this.s3Config = s3Config;
@@ -35,14 +35,14 @@ public void filter(ClientRequestContext requestContext) throws IOException {
3535
Boolean verifyWrite = (Boolean) requestContext.getConfiguration().getProperty(RestUtil.PROPERTY_VERIFY_WRITE_CHECKSUM);
3636
Boolean generateMd5 = (Boolean) requestContext.getConfiguration().getProperty(RestUtil.PROPERTY_GENERATE_CONTENT_MD5);
3737
OutputStream out = requestContext.getEntityStream();
38-
bufferThreadLocal.set(out);
38+
buffer = out;
3939

4040
if ((verifyWrite != null && verifyWrite) || (generateMd5 != null && generateMd5)){
4141
try {
4242
RunningChecksum checksum = new RunningChecksum(ChecksumAlgorithm.MD5);
4343
out = new ChecksummedOutputStream(out, checksum, generateMd5);
4444
requestContext.setEntityStream(out);
45-
requestContextThreadLocal.set(requestContext);
45+
clientRequestContext = requestContext;
4646
} catch (NoSuchAlgorithmException e) {
4747
throw new RuntimeException("fatal: MD5 algorithm not found");
4848
}
@@ -89,10 +89,12 @@ public void flush() throws IOException {
8989
public void close() throws IOException {
9090
delegate.close();
9191

92-
ClientRequestContext clientRequestContext = requestContextThreadLocal.get();
9392
if (generateContentMd5 != null && generateContentMd5) {
9493
// add Content-MD5 (before anything is written to the final stream)
9594
clientRequestContext.getHeaders().add(RestUtil.HEADER_CONTENT_MD5, DatatypeConverter.printBase64Binary(checksum.getByteValue()));
95+
clientRequestContext.getHeaders().add("xxx", DatatypeConverter.printBase64Binary(checksum.getByteValue()));
96+
97+
9698
// need to re-sign request because Content-MD5 is included in the signature!
9799
if (s3Config.getIdentity() != null) {
98100
Map<String, String> parameters = RestUtil.getQueryParameterMap(clientRequestContext.getUri().getRawQuery());
@@ -105,7 +107,7 @@ public void close() throws IOException {
105107
} else {
106108
clientRequestContext.setProperty(RestUtil.PROPERTY_VERIFY_WRITE_CHECKSUM_VALUE, checksum.getHexValue());
107109
}
108-
clientRequestContext.setEntityStream(bufferThreadLocal.get());
110+
clientRequestContext.setEntityStream(buffer);
109111
}
110112

111113
public ChecksumValue getChecksum() { return checksum; }

src/main/java/com/emc/object/s3/jersey/ErrorFilter.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
import java.io.InputStreamReader;
4646
import java.io.Reader;
4747
import java.util.Date;
48-
import java.util.Map;
4948

5049
@Provider
5150
@Priority(FilterPriorities.PRIORITY_ERROR)

src/main/java/com/emc/object/s3/jersey/FaultInjectionFilter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
package com.emc.object.s3.jersey;
2828

2929
import com.emc.object.s3.S3Exception;
30+
import com.emc.object.util.RestUtil;
3031

3132
import javax.annotation.Priority;
3233
import javax.ws.rs.WebApplicationException;

src/main/java/com/emc/object/s3/jersey/StreamExceptionWriteInterceptor.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.emc.object.s3.jersey;
22

33
import com.emc.object.util.RestUtil;
4-
import com.emc.rest.smart.jersey.SizeOverrideWriter;
54
import org.slf4j.Logger;
65
import org.slf4j.LoggerFactory;
76

src/test/java/com/emc/object/s3/S3JerseyClientTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1274,7 +1274,7 @@ public void testCreateObjectWithMetadata() {
12741274
expires.add(Calendar.DATE, 1);
12751275
expires.set(Calendar.MILLISECOND, 0);
12761276
Map<String, String> userMeta = new HashMap<String, String>();
1277-
userMeta.put("meta1", "value1");
1277+
userMeta.put("meta=?", "value1");
12781278
userMeta.put("meta2", "value2");
12791279

12801280
S3ObjectMetadata objectMetadata = new S3ObjectMetadata().withContentType(ct);

0 commit comments

Comments
 (0)