Skip to content

Commit 1821a88

Browse files
committed
Handle empty response body with location header
1 parent 8cd9696 commit 1821a88

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/main/java/com/microsoft/graph/core/requests/upload/UploadResponseHandler.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,15 @@ public <T extends Parsable> UploadResult<T> handleResponse(@Nonnull final Respon
5252
Objects.requireNonNull(response);
5353
Objects.requireNonNull(factory);
5454
try (final ResponseBody body = response.body()) {
55+
UploadResult<T> uploadResult = new UploadResult<>();
5556
if (Objects.isNull(body)) {
57+
if (response.code() == HttpURLConnection.HTTP_CREATED) {
58+
final String location = response.headers().get("location");
59+
if(!Objects.isNull(location) && !location.isEmpty()) {
60+
uploadResult.location = new URI(location);
61+
return uploadResult;
62+
}
63+
}
5664
throw new ApiException(ErrorConstants.Messages.NO_RESPONSE_FOR_UPLOAD);
5765
}
5866
try(final InputStream in = body.byteStream()){
@@ -64,16 +72,11 @@ public <T extends Parsable> UploadResult<T> handleResponse(@Nonnull final Respon
6472
.withResponseHeaders(HeadersCompatibility.getResponseHeaders(response.headers()))
6573
.build();
6674
}
67-
UploadResult<T> uploadResult = new UploadResult<>();
6875
if (response.code() == HttpURLConnection.HTTP_CREATED) {
6976
if (body.contentLength() > 0) {
7077
final ParseNode uploadTypeParseNode = parseNodeFactory.getParseNode(contentType, in);
7178
uploadResult.itemResponse = uploadTypeParseNode.getObjectValue(factory);
7279
}
73-
final String location = response.headers().get("location");
74-
if(!Objects.isNull(location) && !location.isEmpty()) {
75-
uploadResult.location = new URI(location);
76-
}
7780
} else {
7881
final ParseNode parseNode = parseNodeFactory.getParseNode(contentType, in);
7982
final UploadSession uploadSession = parseNode.getObjectValue(UploadSession::createFromDiscriminatorValue);

0 commit comments

Comments
 (0)