From 4057b6843b58d068f58d0095311d6f353e04df68 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Mon, 14 Sep 2020 13:20:08 -0400 Subject: [PATCH 1/2] - fixes a bug where the content type of a post request would be forcibly overridden --- .../graph/http/CoreHttpProvider.java | 4 +++- .../microsoft/graph/functional/UserTests.java | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/microsoft/graph/http/CoreHttpProvider.java b/src/main/java/com/microsoft/graph/http/CoreHttpProvider.java index 1cb2cf2db96..d4df80f42dc 100644 --- a/src/main/java/com/microsoft/graph/http/CoreHttpProvider.java +++ b/src/main/java/com/microsoft/graph/http/CoreHttpProvider.java @@ -260,7 +260,9 @@ public Request getHttpRequest(final IHttpRequest request, // This ensures that the Content-Length header is properly set if (request.getHttpMethod() == HttpMethod.POST) { bytesToWrite = new byte[0]; - contenttype = Constants.BINARY_CONTENT_TYPE; + if(contenttype == null) { + contenttype = Constants.BINARY_CONTENT_TYPE; + } } else { bytesToWrite = null; diff --git a/src/test/java/com/microsoft/graph/functional/UserTests.java b/src/test/java/com/microsoft/graph/functional/UserTests.java index 2f0c9143fe9..6ee63eb2ad6 100644 --- a/src/test/java/com/microsoft/graph/functional/UserTests.java +++ b/src/test/java/com/microsoft/graph/functional/UserTests.java @@ -1,21 +1,28 @@ package com.microsoft.graph.functional; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; +import java.util.ArrayList; import java.util.List; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; +import okhttp3.Request; + +import com.microsoft.graph.http.HttpMethod; import com.microsoft.graph.models.extensions.Drive; import com.microsoft.graph.models.extensions.DriveItem; import com.microsoft.graph.models.extensions.IGraphServiceClient; import com.microsoft.graph.models.extensions.ProfilePhoto; import com.microsoft.graph.models.extensions.User; +import com.microsoft.graph.options.HeaderOption; +import com.microsoft.graph.options.Option; import com.microsoft.graph.requests.extensions.IContactCollectionPage; import com.microsoft.graph.requests.extensions.IDirectoryObjectCollectionWithReferencesPage; import com.microsoft.graph.requests.extensions.IDriveItemCollectionPage; @@ -164,4 +171,18 @@ public void meMemberof() { assertNotNull(page); } + @Test + public void emptyPostContentType() { + final String contentTypeValue = "application/json"; + final HeaderOption ctype = new HeaderOption("Content-Type", contentTypeValue); + final ArrayList