Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Base64Uri #44718

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion sdk/clientcore/core/spotbugs-exclude.xml
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,6 @@
<Class name="io.clientcore.core.serialization.json.JsonReader" />
<Class name="io.clientcore.core.serialization.json.JsonSerializer" />
<Class name="io.clientcore.core.serialization.xml.XmlSerializer" />
<Class name="io.clientcore.core.utils.Base64Uri" />
<Class name="io.clientcore.core.utils.CoreUtils" />
<Class name="io.clientcore.core.utils.serializers.MockSerializer" />
</Or>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
import io.clientcore.core.models.binarydata.InputStreamBinaryData;
import io.clientcore.core.serialization.ObjectSerializer;
import io.clientcore.core.serialization.SerializationFormat;
import io.clientcore.core.utils.Base64Uri;
import io.clientcore.core.utils.CoreUtils;
import io.clientcore.core.utils.UriBuilder;

Expand Down Expand Up @@ -377,9 +376,9 @@ private static Object handleResponseBody(Response<BinaryData> response, SwaggerM
} else if (TypeUtil.isTypeOrSubTypeOf(entityType, byte[].class)) {
byte[] responseBodyBytes = responseBody != null ? responseBody.toBytes() : null;

if (returnValueWireType == Base64Uri.class) {
responseBodyBytes = new Base64Uri(responseBodyBytes).decodedBytes();
}
// if (returnValueWireType == Base64Uri.class) {
// responseBodyBytes = new Base64Uri(responseBodyBytes).decodedBytes();
// }

result = responseBodyBytes != null ? (responseBodyBytes.length == 0 ? null : responseBodyBytes) : null;
} else if (TypeUtil.isTypeOrSubTypeOf(entityType, InputStream.class)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import io.clientcore.core.http.annotations.PathParam;
import io.clientcore.core.http.annotations.QueryParam;
import io.clientcore.core.http.annotations.UnexpectedResponseExceptionDetail;
import io.clientcore.core.implementation.http.ContentType;
import io.clientcore.core.http.models.HttpHeaderName;
import io.clientcore.core.http.models.HttpHeaders;
import io.clientcore.core.http.models.HttpMethod;
Expand All @@ -21,16 +20,16 @@
import io.clientcore.core.http.models.ServerSentEventListener;
import io.clientcore.core.implementation.AccessibleByteArrayOutputStream;
import io.clientcore.core.implementation.TypeUtil;
import io.clientcore.core.implementation.http.ContentType;
import io.clientcore.core.implementation.http.UnexpectedExceptionInformation;
import io.clientcore.core.implementation.http.serializer.CompositeSerializer;
import io.clientcore.core.implementation.http.serializer.HttpResponseDecodeData;
import io.clientcore.core.instrumentation.logging.ClientLogger;
import io.clientcore.core.utils.Base64Uri;
import io.clientcore.core.models.binarydata.BinaryData;
import io.clientcore.core.serialization.SerializationFormat;
import io.clientcore.core.utils.DateTimeRfc1123;
import io.clientcore.core.utils.ExpandableEnum;
import io.clientcore.core.utils.UriBuilder;
import io.clientcore.core.models.binarydata.BinaryData;
import io.clientcore.core.serialization.SerializationFormat;

import java.io.IOException;
import java.io.InputStream;
Expand Down Expand Up @@ -195,7 +194,7 @@ public SwaggerMethodParser(Method swaggerMethod) {

Class<?> returnValueWireType = httpRequestInformation.returnValueWireType();

if (returnValueWireType == Base64Uri.class || returnValueWireType == DateTimeRfc1123.class) {
if (returnValueWireType == DateTimeRfc1123.class) {
this.returnValueWireType = returnValueWireType;
} else if (TypeUtil.isTypeOrSubTypeOf(returnValueWireType, List.class)) {
this.returnValueWireType = returnValueWireType.getGenericInterfaces()[0];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import io.clientcore.core.instrumentation.logging.ClientLogger;
import io.clientcore.core.models.binarydata.BinaryData;
import io.clientcore.core.serialization.SerializationFormat;
import io.clientcore.core.utils.Base64Uri;
import io.clientcore.core.utils.DateTimeRfc1123;

import java.io.IOException;
Expand Down Expand Up @@ -178,11 +177,7 @@ private static Object deserialize(BinaryData value, Type type, SerializationForm
private static Type constructWireResponseType(Type resultType, Type wireType) {
Objects.requireNonNull(wireType);

if (resultType == byte[].class) {
if (wireType == Base64Uri.class) {
return Base64Uri.class;
}
} else if (resultType == OffsetDateTime.class) {
if (resultType == OffsetDateTime.class) {
if (wireType == DateTimeRfc1123.class) {
return DateTimeRfc1123.class;
}
Expand Down Expand Up @@ -214,11 +209,7 @@ private static Type constructWireResponseType(Type resultType, Type wireType) {
* @return The converted object.
*/
private static Object convertToResultType(final Object wireResponse, final Type resultType, final Type wireType) {
if (resultType == byte[].class) {
if (wireType == Base64Uri.class) {
return (new Base64Uri(wireResponse.toString())).decodedBytes();
}
} else if (resultType == OffsetDateTime.class) {
if (resultType == OffsetDateTime.class) {
if (wireType == DateTimeRfc1123.class) {
return new DateTimeRfc1123(wireResponse.toString()).getDateTime();
} else {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
import io.clientcore.core.models.SimpleClass;
import io.clientcore.core.models.binarydata.BinaryData;
import io.clientcore.core.serialization.json.JsonSerializer;
import io.clientcore.core.utils.Base64Uri;
import io.clientcore.core.utils.Context;
import io.clientcore.core.utils.DateTimeRfc1123;
import io.clientcore.core.utils.UriBuilder;
Expand Down Expand Up @@ -130,8 +129,8 @@ interface WireTypesMethods {
@HttpRequestInformation(method = HttpMethod.GET, path = "test")
void noWireType();

@HttpRequestInformation(method = HttpMethod.GET, path = "test", returnValueWireType = Base64Uri.class)
void base64Uri();
// @HttpRequestInformation(method = HttpMethod.GET, path = "test", returnValueWireType = Base64Uri.class)
// void base64Uri();

@HttpRequestInformation(method = HttpMethod.GET, path = "test", returnValueWireType = DateTimeRfc1123.class)
void dateTimeRfc1123();
Expand All @@ -152,7 +151,7 @@ private static Stream<Arguments> wireTypesSupplier() throws NoSuchMethodExceptio
Class<WireTypesMethods> clazz = WireTypesMethods.class;

return Stream.of(Arguments.of(clazz.getDeclaredMethod("noWireType"), null),
Arguments.of(clazz.getDeclaredMethod("base64Uri"), Base64Uri.class),
// Arguments.of(clazz.getDeclaredMethod("base64Uri"), Base64Uri.class),
Arguments.of(clazz.getDeclaredMethod("dateTimeRfc1123"), DateTimeRfc1123.class),
Arguments.of(clazz.getDeclaredMethod("unknownType"), null));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import io.clientcore.core.implementation.http.serializer.HttpResponseDecodeData;
import io.clientcore.core.models.binarydata.BinaryData;
import io.clientcore.core.serialization.json.JsonSerializer;
import io.clientcore.core.utils.Base64Uri;
import io.clientcore.core.utils.CoreUtils;
import io.clientcore.core.utils.DateTimeRfc1123;
import org.junit.jupiter.api.Test;
Expand All @@ -35,7 +34,6 @@
import java.util.Map;
import java.util.stream.Stream;

import static io.clientcore.core.utils.TestUtils.assertArraysEqual;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertInstanceOf;
import static org.junit.jupiter.api.Assertions.assertNull;
Expand Down Expand Up @@ -213,27 +211,27 @@ private static Stream<Arguments> decodableResponseSupplier() {
Arguments.of(mapStringStringResponse, mapStringStringDecodeData, map));
}

@Test
public void decodeListBase64UriResponse() {
ParameterizedType parameterizedType = CoreUtils.createParameterizedType(List.class, byte[].class);
HttpResponseDecodeData decodeData
= new MockHttpResponseDecodeData(200, parameterizedType, Base64Uri.class, true);

List<Base64Uri> base64Uris = Arrays.asList(new Base64Uri("base"), new Base64Uri("64"));
Response<BinaryData> response
= new Response<>(GET_REQUEST, 200, new HttpHeaders(), BinaryData.fromObject(base64Uris));

Object actual = HttpResponseBodyDecoder.decodeByteArray(null, response, SERIALIZER, decodeData);

assertInstanceOf(List.class, actual);

@SuppressWarnings("unchecked")
List<byte[]> decoded = (List<byte[]>) actual;

assertEquals(2, decoded.size());
assertArraysEqual(base64Uris.get(0).decodedBytes(), decoded.get(0));
assertArraysEqual(base64Uris.get(1).decodedBytes(), decoded.get(1));
}
// @Test
// public void decodeListBase64UriResponse() {
// ParameterizedType parameterizedType = CoreUtils.createParameterizedType(List.class, byte[].class);
// HttpResponseDecodeData decodeData
// = new MockHttpResponseDecodeData(200, parameterizedType, Base64Uri.class, true);
//
// List<Base64Uri> base64Uris = Arrays.asList(new Base64Uri("base"), new Base64Uri("64"));
// Response<BinaryData> response
// = new Response<>(GET_REQUEST, 200, new HttpHeaders(), BinaryData.fromObject(base64Uris));
//
// Object actual = HttpResponseBodyDecoder.decodeByteArray(null, response, SERIALIZER, decodeData);
//
// assertInstanceOf(List.class, actual);
//
// @SuppressWarnings("unchecked")
// List<byte[]> decoded = (List<byte[]>) actual;
//
// assertEquals(2, decoded.size());
// assertArraysEqual(base64Uris.get(0).decodedBytes(), decoded.get(0));
// assertArraysEqual(base64Uris.get(1).decodedBytes(), decoded.get(1));
// }

@Test
public void malformedBodyReturnsError() throws IOException {
Expand Down
Loading
Loading