public Collection<String> values(KeyMatcher key) { Collection<String> values = new ArrayList<String>(); for (KeyValuePair pair : getAll(key)) { values.add(pair.getValue()); } return values; }
@SuppressWarnings("unchecked") protected void initHeaders(HttpServletRequest request) { m_headers = new OrderedKeyValuePairCollection(); Enumeration<String> headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String headerName = (String) headerNames.nextElement(); Enumeration<String> headerValues = request.getHeaders(headerName); while (headerValues.hasMoreElements()) { KeyValuePair pair = new KeyValuePair(headerName, headerValues.nextElement()); m_headers.add(pair); } } }
public Collection<String> keys() { Collection<String> keys = new ArrayList<String>(); for (KeyValuePair pair : m_pairs) { keys.add(pair.getKey()); } return keys; }
@Override public String getParameter(String name) { return m_formParameters.getUnique(KeyMatcher.ignoringCase(name)).getValue(); }
private KeyValuePairCollection parseFormParametersFromQueryString(String queryString) { KeyValuePairCollection formParameters = new OrderedKeyValuePairCollection(); Pattern kvpPattern = Pattern.compile("[^?\\&\\s]+"); Matcher kvpMatcher = kvpPattern.matcher(queryString); while (kvpMatcher.find()) { String kvpChunk = kvpMatcher.group(); String key; String value = ""; int indexOfEqualsSign = kvpChunk.indexOf('='); if (indexOfEqualsSign == -1) { key = kvpChunk; } else { key = kvpChunk.substring(0, indexOfEqualsSign); value = kvpChunk.substring(indexOfEqualsSign + 1); } try { key = URLDecoder.decode(key, "utf-8"); value = URLDecoder.decode(value, "utf-8"); } catch (UnsupportedEncodingException e) { throw new IllegalArgumentException("Could not url-decode servicerequest parameters", e); } KeyValuePair keyValuePair = new KeyValuePair(key, value); formParameters.add(keyValuePair); } return formParameters; }
public KeyValuePairCollection getAll(KeyMatcher keyMatcher) { KeyValuePairCollection pairsPerKey = new OrderedKeyValuePairCollection(); for (KeyValuePair kvp : m_pairs) { if (keyMatcher.matches(kvp.getKey())) { pairsPerKey.add(kvp); } } return pairsPerKey; }
@Override public String getHeader(String name) { if (!m_headers.containsKey(KeyMatcher.ignoringCase(name))) { return null; } return m_headers.getUnique(KeyMatcher.ignoringCase(name)).getValue(); }
KeyValuePair newProxyRequestContentTypeHeader = new KeyValuePair(HttpHeaderAttribute.HEADER_NAME_CONTENTTYPE, m_wssMimeType); m_headers.updateUnique(CONTENTTYPE_HEADER_KEYMATCHER, newProxyRequestContentTypeHeader); } else {