in sdk/core/azure-core-rest/src/main/java/com/azure/android/core/rest/HttpRequestMapper.java [268:297]
HttpHeaders applyHeaderMappings(Object[] swaggerMethodArgs, HttpHeaders httpHeaders) {
for (HttpHeader header : this.headers) {
httpHeaders.put(header.getName(), header.getValue());
}
if (swaggerMethodArgs != null) {
for (MethodParameterMapping headerParameterMapping : this.headerMappings) {
if (headerParameterMapping.argIndex < swaggerMethodArgs.length) {
final Object methodArg = swaggerMethodArgs[headerParameterMapping.argIndex];
if (methodArg instanceof Map) {
@SuppressWarnings("unchecked")
final Map<String, ?> headerCollection = (Map<String, ?>) methodArg;
final String headerCollectionPrefix = headerParameterMapping.mapToName;
for (final Map.Entry<String, ?> headerCollectionEntry : headerCollection.entrySet()) {
final String headerName = headerCollectionPrefix + headerCollectionEntry.getKey();
final String headerValue = this.serialize(headerCollectionEntry.getValue());
if (headerValue != null) {
httpHeaders.put(headerName, headerValue);
}
}
} else {
final String headerValue = this.serialize(methodArg);
if (headerValue != null) {
httpHeaders.put(headerParameterMapping.mapToName, headerValue);
}
}
}
}
}
return httpHeaders;
}