@Override
public MultivaluedMap<String, String> update(MultivaluedMap<String, String> incomingHeaders,
MultivaluedMap<String, String> clientOutgoingHeaders) {
if (LOG.isLoggable(Level.FINER)) {
LOG.entering(CLASS_NAME, "update", new Object[]{incomingHeaders, clientOutgoingHeaders});
}
MultivaluedMap propagatedHeaders = new MultivaluedHashMap();
Optional<String> propagateHeaderString = getHeadersProperty();
if (propagateHeaderString.isPresent()) {
Arrays.stream(propagateHeaderString.get().split(","))
.forEach( header -> {
if (incomingHeaders.containsKey(header)) {
propagatedHeaders.put(header, incomingHeaders.get(header));
}
});
}
if (LOG.isLoggable(Level.FINER)) {
LOG.exiting(CLASS_NAME, "update", propagatedHeaders);
}
return propagatedHeaders;
}
}