protected void populateRequestParameters(HttpServletRequest request, HttpMessage message) throws Exception { //we populate the http request parameters without checking the request method Map<String, Object> headers = message.getHeaders(); Enumeration<?> names = request.getParameterNames(); while (names.hasMoreElements()) { String name = (String)names.nextElement(); // there may be multiple values for the same name String[] values = request.getParameterValues(name); LOG.trace("HTTP parameter {} = {}", name, values); if (values != null) { for (String value : values) { if (headerFilterStrategy != null && !headerFilterStrategy.applyFilterToExternalHeaders(name, value, message.getExchange())) { HttpHelper.appendHeader(headers, name, value); } } } } }
protected void readHeaders(HttpServletRequest request, HttpMessage message) { LOG.trace("readHeaders {}", request); Map<String, Object> headers = message.getHeaders(); //apply the headerFilterStrategy Enumeration<?> names = request.getHeaderNames(); while (names.hasMoreElements()) { String name = (String)names.nextElement(); String value = request.getHeader(name); // use http helper to extract parameter value as it may contain multiple values Object extracted = HttpHelper.extractHttpParameterValue(value); // mapping the content-type if (name.toLowerCase().equals("content-type")) { name = Exchange.CONTENT_TYPE; } if (headerFilterStrategy != null && !headerFilterStrategy.applyFilterToExternalHeaders(name, extracted, message.getExchange())) { HttpHelper.appendHeader(headers, name, extracted); } } if (request.getCharacterEncoding() != null) { headers.put(Exchange.HTTP_CHARACTER_ENCODING, request.getCharacterEncoding()); message.getExchange().setProperty(Exchange.CHARSET_NAME, request.getCharacterEncoding()); } try { populateRequestParameters(request, message); } catch (Exception e) { throw new RuntimeCamelException("Cannot read request parameters due " + e.getMessage(), e); } }
if (headerFilterStrategy != null && !headerFilterStrategy.applyFilterToExternalHeaders(name, value, message.getExchange())) { HttpHelper.appendHeader(headers, name, value);
HttpHelper.appendHeader(headers, name, value); if (getHeaderFilterStrategy() != null && !getHeaderFilterStrategy().applyFilterToExternalHeaders(name, value, message.getExchange())) { HttpHelper.appendHeader(headers, name, value);
HttpHelper.appendHeader(answer.getHeaders(), name, extracted);