in sdk/core/azure-core-rest/src/main/java/com/azure/android/core/rest/HttpRequestMapper.java [380:403]
String applyUrlMapping(String urlTemplate,
Iterable<MethodParameterMapping> urlParameterMappings,
Object[] swaggerMethodArgs) {
String mappedUrl = urlTemplate;
if (swaggerMethodArgs != null) {
for (MethodParameterMapping urlParameterMapping : urlParameterMappings) {
if (urlParameterMapping.argIndex < swaggerMethodArgs.length) {
final Object methodArg = swaggerMethodArgs[urlParameterMapping.argIndex];
String value = this.serialize(methodArg);
if (value != null && !value.isEmpty() && urlParameterMapping.shouldEncode) {
value = UrlEscapers.PATH_ESCAPER.escape(value);
}
// if a parameter is null, we treat it as empty string. This is assuming
// no {...} will be allowed otherwise in a path template
if (value == null) {
value = "";
}
mappedUrl = mappedUrl.replace("{" + urlParameterMapping.mapToName + "}", value);
}
}
}
return mappedUrl;
}