Skip to content

Commit a6e410c

Browse files
author
aman-pratik
committed
Fix AppleSignalInterface-TokenRefresh
1 parent 15ba78f commit a6e410c

1 file changed

Lines changed: 14 additions & 13 deletions

File tree

  • extensions/data-transfer/portability-data-transfer-apple/src/main/java/org/datatransferproject/datatransfer/apple/signals

extensions/data-transfer/portability-data-transfer-apple/src/main/java/org/datatransferproject/datatransfer/apple/signals/AppleSignalInterface.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,37 +17,32 @@
1717
package org.datatransferproject.datatransfer.apple.signals;
1818

1919
import com.fasterxml.jackson.databind.ObjectMapper;
20-
import com.google.common.annotations.VisibleForTesting;
2120
import java.io.IOException;
22-
import java.io.Serializable;
2321
import java.net.HttpURLConnection;
2422
import java.net.URL;
2523
import java.nio.charset.StandardCharsets;
26-
import java.util.Map;
2724
import java.util.UUID;
2825
import org.apache.commons.io.IOUtils;
29-
import org.apache.commons.lang3.SerializationUtils;
3026
import org.datatransferproject.api.launcher.Monitor;
3127
import org.datatransferproject.datatransfer.apple.AppleBaseInterface;
32-
import org.datatransferproject.datatransfer.apple.AppleInterfaceFactory;
3328
import org.datatransferproject.datatransfer.apple.constants.AuditKeys;
3429
import org.datatransferproject.datatransfer.apple.constants.Headers;
3530
import org.datatransferproject.spi.transfer.provider.SignalRequest;
36-
import org.datatransferproject.spi.transfer.types.CopyException;
3731
import org.datatransferproject.spi.transfer.types.CopyExceptionWithFailureReason;
3832
import org.datatransferproject.spi.transfer.types.PermissionDeniedException;
3933
import org.datatransferproject.spi.transfer.types.UnconfirmedUserException;
4034
import org.datatransferproject.transfer.JobMetadata;
4135
import org.datatransferproject.types.transfer.auth.AppCredentials;
4236
import org.datatransferproject.types.transfer.auth.TokensAndUrlAuthData;
43-
import org.datatransferproject.types.transfer.retry.RetryStrategyLibrary;
4437
import org.jetbrains.annotations.NotNull;
4538

4639
/**
4740
* An Interface to send the Transfer Signals to Apple.
4841
*/
4942
public class AppleSignalInterface implements AppleBaseInterface {
5043
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
44+
private static final String MEDIA_TYPE_JSON = "application/json";
45+
private static final String MEDIA_TYPE_FORM = "application/x-www-form-urlencoded";
5146

5247
protected String baseUrl;
5348
protected AppCredentials appCredentials;
@@ -89,8 +84,12 @@ public String sendPostRequest(@NotNull String url, @NotNull final byte[] request
8984
con.setRequestMethod("POST");
9085
con.setRequestProperty(Headers.AUTHORIZATION.getValue(), authData.getAccessToken());
9186
con.setRequestProperty(Headers.CORRELATION_ID.getValue(), correlationId);
92-
con.setRequestProperty(Headers.CONTENT_TYPE.getValue(), "application/json");
93-
con.setRequestProperty(Headers.ACCEPT.getValue(), "application/json");
87+
con.setRequestProperty(Headers.ACCEPT.getValue(), MEDIA_TYPE_JSON);
88+
if (url.equals(authData.getTokenServerEncodedUrl())) {
89+
con.setRequestProperty(Headers.CONTENT_TYPE.getValue(), MEDIA_TYPE_FORM);
90+
} else {
91+
con.setRequestProperty(Headers.CONTENT_TYPE.getValue(), MEDIA_TYPE_JSON);
92+
}
9493

9594
IOUtils.write(requestData, con.getOutputStream());
9695
responseString = IOUtils.toString(con.getInputStream(), StandardCharsets.ISO_8859_1);
@@ -106,15 +105,17 @@ public String sendPostRequest(@NotNull String url, @NotNull final byte[] request
106105
AuditKeys.error,
107106
e.getMessage(),
108107
AuditKeys.errorCode,
109-
con.getResponseCode(),
108+
(con != null ? con.getResponseCode() : -1),
110109
e);
111110
convertAndThrowException(e, con);
112111
} finally {
113-
con.disconnect();
112+
if (con != null) {
113+
con.disconnect();
114+
}
114115
}
115-
return responseString;
116116
}
117-
return null;
117+
118+
return responseString;
118119
}
119120

120121
public byte[] sendSignal(@NotNull final SignalRequest signalRequest)

0 commit comments

Comments
 (0)