in sdk/core/azure-core-rest/src/main/java/com/azure/android/core/rest/HttpRequestMapper.java [334:378]
String serializeFormDataEntry(String entryKey, Object entryValue, boolean shouldEncode) {
if (entryValue == null) {
return null;
}
final String encodedEntryKey = UrlEscapers.FORM_ESCAPER.escape(entryKey);
if (entryValue instanceof List<?>) {
StringBuilder formDataEntryBuilder = new StringBuilder();
final List<?> listElements = (List<?>) entryValue;
for (Object element : listElements) {
if (element != null) {
String serializedElement = this.jacksonSerder.serializeRaw(element);
if (serializedElement != null) {
if (shouldEncode) {
formDataEntryBuilder.append(encodedEntryKey).append("=")
.append(UrlEscapers.FORM_ESCAPER.escape(serializedElement));
} else {
formDataEntryBuilder.append(encodedEntryKey).append("=").append(serializedElement);
}
formDataEntryBuilder.append("&");
}
}
}
if (formDataEntryBuilder.length() > 0) {
formDataEntryBuilder.deleteCharAt(formDataEntryBuilder.length() - 1);
}
final String formData = formDataEntryBuilder.toString();
if (!formData.isEmpty()) {
return formData;
} else {
return null;
}
} else {
final String serializedValue = this.jacksonSerder.serializeRaw(entryValue);
if (serializedValue != null) {
if (shouldEncode) {
return encodedEntryKey + "=" + UrlEscapers.FORM_ESCAPER.escape(serializedValue);
} else {
return encodedEntryKey + "=" + serializedValue;
}
} else {
return null;
}
}
}