Skip to content

Commit c411888

Browse files
committed
Simplify upload response handling
1 parent 005cab2 commit c411888

File tree

2 files changed

+7
-22
lines changed

2 files changed

+7
-22
lines changed

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

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -73,30 +73,18 @@ public <T extends Parsable> UploadResult<T> handleResponse(@Nonnull final Respon
7373
}
7474
boolean canBeParsed = ((!Objects.isNull(body.contentType())) && (body.contentLength() > 0));
7575
String contentType = canBeParsed ? body.contentType().toString().split(";")[0] : null; //contentType.toString() returns in format <mediaType>;<charset>, we only want the mediaType.
76-
if (response.code() == HttpURLConnection.HTTP_CREATED) {
77-
if(canBeParsed) {
78-
final ParseNode uploadTypeParseNode = parseNodeFactory.getParseNode(contentType, in);
79-
uploadResult.itemResponse = uploadTypeParseNode.getObjectValue(factory);
80-
}
81-
final String location = response.headers().get("location");
82-
if(!Objects.isNull(location) && !location.isEmpty()) {
83-
uploadResult.location = new URI(location);
84-
}
85-
} else {
86-
if(canBeParsed) {
87-
final ParseNode parseNode = parseNodeFactory.getParseNode(contentType, in);
76+
if (canBeParsed) {
77+
final ParseNode parseNode = parseNodeFactory.getParseNode(contentType, in);
78+
if (response.code() == HttpURLConnection.HTTP_CREATED) {
79+
uploadResult.itemResponse = parseNode.getObjectValue(factory);
80+
} else {
8881
final UploadSession uploadSession = parseNode.getObjectValue(UploadSession::createFromDiscriminatorValue);
8982
final List<String> nextExpectedRanges = uploadSession.getNextExpectedRanges();
9083
if (!(nextExpectedRanges == null || nextExpectedRanges.isEmpty())) {
9184
uploadResult.uploadSession = uploadSession;
9285
} else {
9386
uploadResult.itemResponse = parseNode.getObjectValue(factory);
9487
}
95-
} else {
96-
final String location = response.headers().get("location");
97-
if (!Objects.isNull(location) && !location.isEmpty()) {
98-
uploadResult.location = new URI(location);
99-
}
10088
}
10189
}
10290
return uploadResult;

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.microsoft.graph.core.models.IUploadSession;
44
import com.microsoft.graph.core.models.UploadResult;
5+
import com.microsoft.graph.core.models.UploadSession;
56
import com.microsoft.kiota.*;
67
import com.microsoft.kiota.serialization.Parsable;
78
import com.microsoft.kiota.serialization.ParsableFactory;
@@ -46,11 +47,7 @@ public UploadSessionRequestBuilder(@Nonnull String sessionUrl,
4647
@Nonnull
4748
public IUploadSession get() {
4849
RequestInformation requestInformation = toGetRequestInformation();
49-
NativeResponseHandler nativeResponseHandler = new NativeResponseHandler();
50-
requestInformation.setResponseHandler(nativeResponseHandler);
51-
requestAdapter.sendPrimitive(requestInformation, null, InputStream.class);
52-
UploadResult<T> result = responseHandler.handleResponse((Response) nativeResponseHandler.getValue(), factory);
53-
return result.uploadSession;
50+
return requestAdapter.send(requestInformation, null, UploadSession::createFromDiscriminatorValue);
5451
}
5552
private RequestInformation toGetRequestInformation() {
5653
RequestInformation requestInformation = new RequestInformation();

0 commit comments

Comments
 (0)