/** * Strategy to allow filtering of headers which are put on the JMS message * <p/> * <b>Note</b>: Currently only supports sending java identifiers as keys */ protected boolean shouldOutputHeader(org.apache.camel.Message camelMessage, String headerName, Object headerValue, Exchange exchange) { return headerFilterStrategy == null || !headerFilterStrategy.applyFilterToCamelHeaders(headerName, headerValue, exchange); }
public boolean applyFilterToCamelHeaders(String s, Object o, Exchange exchange) { for (HeaderFilterStrategy strategy : strategies) { if (strategy.applyFilterToCamelHeaders(s, o, exchange)) { return true; } } return false; }
/** * Filters the response headers that will be sent back to the client. * <p /> * The {@link DefaultCxfRsBinding} doesn't filter the response headers according to the {@link HeaderFilterStrategy}, * so we handle this task in this binding. */ protected Map<String, String> filterCamelHeadersForResponseHeaders(Map<String, Object> headers, org.apache.camel.Exchange camelExchange) { Map<String, String> answer = new HashMap<>(); for (Map.Entry<String, Object> entry : headers.entrySet()) { if (getHeaderFilterStrategy().applyFilterToCamelHeaders(entry.getKey(), entry.getValue(), camelExchange)) { continue; } // skip content-length as the simple binding with Response will set correct content-length based // on the entity set as the Response if ("content-length".equalsIgnoreCase(entry.getKey())) { continue; } answer.put(entry.getKey(), entry.getValue().toString()); } return answer; }
protected void writeRequestHeaders(GTaskEndpoint endpoint, Exchange exchange, TaskOptions request) { HeaderFilterStrategy strategy = endpoint.getHeaderFilterStrategy(); for (String headerName : exchange.getIn().getHeaders().keySet()) { String headerValue = exchange.getIn().getHeader(headerName, String.class); if (strategy != null && !strategy.applyFilterToCamelHeaders(headerName, headerValue, exchange)) { request.header(headerName, headerValue); } } }
protected void writeRequestHeaders(GHttpEndpoint endpoint, Exchange exchange, HTTPRequest request) { HeaderFilterStrategy strategy = endpoint.getHeaderFilterStrategy(); for (String headerName : exchange.getIn().getHeaders().keySet()) { String headerValue = exchange.getIn().getHeader(headerName, String.class); if (strategy != null && !strategy.applyFilterToCamelHeaders(headerName, headerValue, exchange)) { request.addHeader(new HTTPHeader(headerName, headerValue)); } } }
private boolean shouldBeFiltered(Header header, Exchange exchange, HeaderFilterStrategy headerFilterStrategy) { return !headerFilterStrategy.applyFilterToCamelHeaders(header.key(), header.value(), exchange); }
if (headerFilterStrategy.applyFilterToCamelHeaders(entry.getKey(), entry.getValue(), camelExchange)) { continue;
String headerValue = convertHeaderValueToString(exchange, it.next()); if (headerValue != null && headerFilterStrategy != null && !headerFilterStrategy.applyFilterToCamelHeaders(key, headerValue, exchange)) { response.addHeader(key, headerValue);
@Override public Object toHttpRequest(ClientRequest clientRequest, Message message) { Object body = message.getBody(); final HeaderMap requestHeaders = clientRequest.getRequestHeaders(); // set the content type in the response. String contentType = MessageHelper.getContentType(message); if (contentType != null) { // set content-type requestHeaders.put(Headers.CONTENT_TYPE, contentType); LOG.trace("Content-Type: {}", contentType); } TypeConverter tc = message.getExchange().getContext().getTypeConverter(); //copy headers from Message to Request for (Map.Entry<String, Object> entry : message.getHeaders().entrySet()) { String key = entry.getKey(); Object value = entry.getValue(); // use an iterator as there can be multiple values. (must not use a delimiter) final Iterator<?> it = ObjectHelper.createIterator(value, null); while (it.hasNext()) { String headerValue = tc.convertTo(String.class, it.next()); if (headerValue != null && headerFilterStrategy != null && !headerFilterStrategy.applyFilterToCamelHeaders(key, headerValue, message.getExchange())) { LOG.trace("HTTP-Header: {}={}", key, headerValue); requestHeaders.add(new HttpString(key), headerValue); } } } return body; }
String headerValue = tc.convertTo(String.class, it.next()); if (headerValue != null && headerFilterStrategy != null && !headerFilterStrategy.applyFilterToCamelHeaders(key, headerValue, message.getExchange())) { LOG.trace("HTTP-Header: {}={}", key, headerValue); httpExchange.getResponseHeaders().add(new HttpString(key), headerValue);
if (headerValue != null) { if (headerFilterStrategy != null && !headerFilterStrategy.applyFilterToCamelHeaders(headerName, headerValue, exchange)) { if (headerName.equalsIgnoreCase("subject")) { mimeMessage.setSubject(asString(exchange, headerValue), determineCharSet(configuration, exchange));
if (!getHeaderFilterStrategy().applyFilterToCamelHeaders( entry.getKey(), entry.getValue(), exchange)) { response.getAttributes().put(entry.getKey(), entry.getValue());
protected HttpRequest createRequest(Exchange exchange) { String uri = getEndpoint().getEndpointUri(); HttpEntity entity = createEntity(exchange); HttpRequest req; if (entity == null) { req = new BasicHttpRequest("GET", getEndpoint().getPath()); } else { req = new BasicHttpEntityEnclosingRequest("POST", getEndpoint().getPath()); ((BasicHttpEntityEnclosingRequest)req).setEntity(entity); } // propagate headers as HTTP headers HeaderFilterStrategy strategy = ((JhcEndpoint)getEndpoint()).getHeaderFilterStrategy(); for (String headerName : exchange.getIn().getHeaders().keySet()) { String headerValue = exchange.getIn().getHeader(headerName, String.class); if (strategy != null && !strategy.applyFilterToCamelHeaders(headerName, headerValue)) { req.addHeader(headerName, headerValue); } } return req; }
&& !headerFilterStrategy.applyFilterToCamelHeaders(key, headerValue, message.getExchange())) { LOG.trace("HTTP-Header: {}={}", key, headerValue); request.headers().add(key, headerValue);
continue; if (value != null && strategy != null && !strategy.applyFilterToCamelHeaders(key, value, exchange)) { values.add(value);
String headerValue = tc.convertTo(String.class, it.next()); if (headerValue != null && headerFilterStrategy != null && !headerFilterStrategy.applyFilterToCamelHeaders(key, headerValue, message.getExchange())) { LOG.trace("HTTP-Header: {}={}", key, headerValue); response.headers().add(key, headerValue);