addHeaderDelegateIfAbsent(Locale.class, new LocaleDelegate()); addHeaderDelegateIfAbsent(LinkHeader.class, new LinkHeaderDelegate()); addHeaderDelegateIfAbsent(javax.ws.rs.core.Link.class, new LinkDelegate()); addHeaderDelegateIfAbsent(Date.class, new DateDelegate());
@Override protected boolean matchesSafely(String item) { return expected.equals(new LinkDelegate().fromString(item)); } };
addHeaderDelegateIfAbsent(Locale.class, new LocaleDelegate()); addHeaderDelegateIfAbsent(LinkHeader.class, new LinkHeaderDelegate()); addHeaderDelegateIfAbsent(javax.ws.rs.core.Link.class, new LinkDelegate()); addHeaderDelegateIfAbsent(Date.class, new DateDelegate());
for (Header linkHeader : linkHeaders) { for (String s : splitLinks(linkHeader)) { Link nextLink = new LinkDelegate().fromString(s); if (relation.equals(nextLink.getRel())) { String actualLinkUri = resolveIfRelative(requestUri, nextLink.getUri());
addHeaderDelegate(Locale.class, new LocaleDelegate()); addHeaderDelegate(LinkHeader.class, new LinkHeaderDelegate()); addHeaderDelegate(javax.ws.rs.core.Link.class, new LinkDelegate()); addHeaderDelegate(Date.class, new DateDelegate());
/** * 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; }