|
@@ -27,9 +27,9 @@ public class SignatureInterceptor implements Interceptor {
|
|
|
@Override
|
|
|
public Response intercept(Chain chain) throws IOException {
|
|
|
Request request = chain.request();
|
|
|
- SignatureProvider provider = this.provider;
|
|
|
+ SignatureProvider provider = getSignatureInfo(request);
|
|
|
if (provider == null) {
|
|
|
- provider = getSignatureInfo(request);
|
|
|
+ provider = this.provider;
|
|
|
}
|
|
|
if (provider != null) {
|
|
|
long time = System.currentTimeMillis();
|
|
@@ -37,8 +37,8 @@ public class SignatureInterceptor implements Interceptor {
|
|
|
.build(provider.getType(), request.method(), request.url().uri().getPath(), time,
|
|
|
provider.getIdentity(), provider.getSecret());
|
|
|
return chain.proceed(
|
|
|
- request.newBuilder().removeHeader(SignatureInfo.HEADER_NAME).removeHeader(HEADER_KEY_TIME)
|
|
|
- .removeHeader(HEADER_KEY_AUTHORIZATION).addHeader(HEADER_KEY_TIME, String.valueOf(time))
|
|
|
+ request.newBuilder().removeHeader(HEADER_KEY_TIME).removeHeader(HEADER_KEY_AUTHORIZATION)
|
|
|
+ .addHeader(HEADER_KEY_TIME, String.valueOf(time))
|
|
|
.addHeader(HEADER_KEY_AUTHORIZATION, signature).build());
|
|
|
} else {
|
|
|
return chain.proceed(request);
|
|
@@ -47,7 +47,7 @@ public class SignatureInterceptor implements Interceptor {
|
|
|
|
|
|
private SignatureInfo getSignatureInfo(Request request) {
|
|
|
try {
|
|
|
- return SignatureInfo.parse(request.header(SignatureInfo.HEADER_NAME));
|
|
|
+ return request.tag(SignatureInfo.class);
|
|
|
} catch (Exception e) {
|
|
|
return null;
|
|
|
}
|