@Override @SuppressWarnings("unchecked") public String toString(Object obj) { StringBuffer b = new StringBuffer(); List<Header> list = (List<Header>) obj; for (Header h : list) { b.append(h.getName()).append(" : ").append(h.getValue()).append("\n"); } return b.toString().trim(); }
/** * * @param name * the header name * @return the sub-list of headers with the same name */ public List<Header> getHeader(String name) { List<Header> headersWithTheSameName = new ArrayList<Header>(); for (Header h : headers) { if (h.getName().equalsIgnoreCase(name)) { headersWithTheSameName.add(h); } } return headersWithTheSameName; }
@Override public String handle(RunnerVariablesProvider variablesProvider, Config config, RestResponse response, Object expressionContext, String expression) { List<String> content = new ArrayList<String>(); if (response != null) { for (Header e : response.getHeaders()) { String string = Tools.convertEntryToString(e.getName(), e.getValue(), ":"); content.add(string); } } String value = null; if (content.size() > 0) { Pattern p = Pattern.compile(expression); for (String c : content) { Matcher m = p.matcher(c); if (m.find()) { int cc = m.groupCount(); value = m.group(cc); break; } } } return value; }
putPropertyOnJsObject(response, "transactionId", r.getTransactionId()); for (Header h : r.getHeaders()) { callMethodOnJsObject(response, "addHeader", h.getName(), h.getValue());
@Override @SuppressWarnings("unchecked") public boolean equals(Object expectedObj, Object actualObj) { if (expectedObj == null || actualObj == null) { return false; } // r1 and r2 are Map<String, String> containing either the header // from the HTTP response or the data value in the expected cell // equals checks for r1 being a subset of r2 Collection<Header> expected = (Collection<Header>) expectedObj; Collection<Header> actual = (Collection<Header>) actualObj; for (Header k : expected) { Header aHdr = find(actual, k); if (aHdr == null) { addError("not found: [" + k.getName() + " : " + k.getValue() + "]"); } } return getErrors().size() == 0; }
@Override public int hashCode() { return getName().hashCode() + 37 * getValue().hashCode(); }
/** * Adds a collection of HTTP headers to the current list of headers. * * @param headers * the list of headers * @return this RestData */ public RestData addHeaders(List<Header> headers) { for (Header e : headers) { addHeader(e.getName(), e.getValue()); } return this; }
@Override public String toString() { return String.format("%s:%s", getName(), getValue()); } }
private void addHeaders(HttpMethod m, RestRequest request) { for (RestData.Header h : request.getHeaders()) { m.addRequestHeader(h.getName(), h.getValue()); } } }