/** * Set a specific header * * @return The builder */ public ResponseBuilder setHeader(String name, String value) { notNull(name, "Header name"); notNull(value, "Header value"); List<Header> newHeaders = new ArrayList<Header>(restAssuredResponse.headers().asList()); newHeaders.add(new Header(name, value)); restAssuredResponse.setResponseHeaders(new Headers(newHeaders)); if (trim(name).equalsIgnoreCase(CONTENT_TYPE)) { restAssuredResponse.setContentType(value); } return this; }
private static String toString(Headers headers) { if (!headers.exist()) { return ""; } final StringBuilder builder = new StringBuilder(); for (Header header : headers) { builder.append(header.getName()).append(HEADER_NAME_AND_VALUE_SEPARATOR).append(header.getValue()).append("\n"); } builder.deleteCharAt(builder.length() - 1); return builder.toString(); }
/** * Asserts the response has a <code>Preference-Applied: * return=representation</code> response header, but only if at * least one <code>Preference-Applied</code> header is present. * * @param response * the HTTP response */ protected void checkPreferenceAppliedHeader(Response response) { List<Header> preferenceAppliedHeaders = response.getHeaders().getList(PREFERNCE_APPLIED); if (preferenceAppliedHeaders.isEmpty()) { // The header is not mandatory. return; } assertTrue(hasReturnRepresentation(preferenceAppliedHeaders), "Server responded with a Preference-Applied header, but it did not contain return=representation"); }
/** * An alternative way to create a Headers object from the constructor. * * @param header The header to be included * @param additionalHeaders Additional headers to be included (optional) * @return A new headers object containing the specified headers */ public static Headers headers(Header header, Header... additionalHeaders) { notNull(header, "Header"); final List<Header> headerList = new LinkedList<Header>(); headerList.add(header); if (additionalHeaders != null) { Collections.addAll(headerList, additionalHeaders); } return new Headers(headerList); }
@BeforeClass(alwaysRun = true) public void determineOptions() { String uri = getResourceUri(); if (StringUtils.isNotBlank(uri)) { // Use HTTP OPTIONS, which MUST be supported by LDP servers, to determine what methods are supported on this container. Response optionsResponse = buildBaseRequestSpecification().options(uri); Headers headers = optionsResponse.getHeaders(); List<Header> allowHeaders = headers.getList(ALLOW); for (Header allowHeader : allowHeaders) { String allow = allowHeader.getValue(); if (allow != null) { String[] methods = allow.split("\\s*,\\s*"); for (String method : methods) { options.add(method); } } } } }
String requestUri, Response response) { List<Header> linkHeaders = response.getHeaders().getList(LINK); for (Header linkHeader : linkHeaders) { for (String s : splitLinks(linkHeader)) {
private static void addHeaders(FilterableRequestSpecification requestSpec, StringBuilder builder) { builder.append("Headers:"); final Headers headers = requestSpec.getHeaders(); if (!headers.exist()) { appendTwoTabs(builder).append(NONE).append(NEW_LINE); } else { int i = 0; for (Header header : headers) { if (i++ == 0) { appendTwoTabs(builder); } else { appendFourTabs(builder); } builder.append(header).append(NEW_LINE); } } }
/** * Gets the first link from {@code response} with link relation {@code rel}. * Resolves relative URIs against the request URI if necessary. * * @param linkContext * the context of the Link (usually the request URI, but can be * changed with an anchor parameter) * @param relation * the expected link relation * @param requestUri * the HTTP request URI (for determing a Link's context and * resolving relative URIs) * @param response * the HTTP response * @return the first link or {@code null} if none was found * @see <a href="http://tools.ietf.org/html/rfc5988">RFC 5988</a> */ protected String getFirstLinkForRelation(String linkContext, String relation, String requestUri, Response response) { List<Header> linkHeaders = response.getHeaders().getList(LINK); for (Header header : linkHeaders) { for (String s : splitLinks(header)) { Link l = new LinkDelegate().fromString(s); if (relation.equals(l.getRel()) && linkMatchesContext(linkContext, requestUri, l)) { return resolveIfRelative(requestUri, l.getUri()); } } } return null; }
if (headers.exist()) { appendNewLineIfAll(logDetail, builder).append(toString(headers));
List<Header> preferenceAppliedHeaders = getResponse.getHeaders().getList(PREFERNCE_APPLIED); assertFalse( !preferenceAppliedHeaders.isEmpty() && hasReturnRepresentation(preferenceAppliedHeaders),