public LinkHeader addLink(final String title, final String rel, final String href, final String type) { final Link link = Link.fromUri(href).rel(rel).title(title).type(type).build(); return addLink(link); }
public ClientRequest addLink(Link link) { if (linkHeader == null) { linkHeader = new LinkHeader(); } linkHeader.getLinks().add(link); return this; }
header.getLinksByRelationship().put(rel, link); header.getLinksByTitle().put(title, link); header.getLinks().add(link);
public LinkHeader getLinkHeader() { if (linkHeader != null) return linkHeader; linkHeader = new LinkHeader(); if (!headers.containsKey("Link")) { return linkHeader; } List<String> links = headers.get("Link"); LinkHeaderDelegate delegate = new LinkHeaderDelegate(); for (String link : links) { LinkHeader tmp = delegate.fromString(link); linkHeader.getLinks().addAll(tmp.getLinks()); linkHeader.getLinksByRelationship().putAll(tmp.getLinksByRelationship()); linkHeader.getLinksByTitle().putAll(tmp.getLinksByTitle()); } for (Link link : linkHeader.getLinks()) { link.setExecutor(executor); } return linkHeader; }
LinkHeader header = new LinkHeader(); header.addLink(null, "next", buildPageLink(builder, next), null); header.addLink(null, "prev", buildPageLink(builder, prev), null); header.addLink(null, "first", buildPageLink(builder, 1), null); header.addLink(null, "last", buildPageLink(builder, getLastPage(page)), null); respContext.getHeaders().add(LINK_HEADER, header.toString());
static LinkHeader getLinkHeader(Integer page, long totalPages, UriInfo uri) { LinkHeader header = new LinkHeader(); if (page != 0) { header.addLink(buildLink("prev", page - 1, uri)); header.addLink(buildLink("first", 0, uri)); } if (page < totalPages) { header.addLink(buildLink("next", page + 1, uri)); header.addLink(buildLink("last", totalPages, uri)); } return header; }
public static String getString(LinkHeader value) { StringBuffer buf = new StringBuffer(); for (Link link : value.getLinks()) { if (buf.length() > 0) buf.append(", "); buf.append(link.toString()); } return buf.toString(); } }
private void extractLinkHeaders(HttpURLConnection connection, Map<String, String> links) { Collection<String> linkHeaders = connection.getHeaderFields().get("Link"); if (linkHeaders == null) linkHeaders = connection.getHeaderFields().get("link"); if (linkHeaders != null) { for (String link : linkHeaders) { for (Link lnk : LinkHeader.valueOf( link).getLinks()) links.put(lnk.getRelationship(), lnk.getHref()); /* String[] lhs = link.split(","); // links are separated by a comma for (String lnk : lhs) { Matcher m = LINK_PATTERN.matcher(lnk); if (m.find() && m.groupCount() > 1) links.put(m.group(2), m.group(1)); }*/ } } }
protected void initialize() throws Exception { super.start(); initialized = true; initAuthentication(); ClientRequest request = executor.createRequest(registration.getTarget().getHref()); for (XmlHttpHeader header : registration.getHeaders()) { request.header(header.getName(), header.getValue()); } ClientResponse<?> res = request.head(); if (res.getStatus() != 200) { throw new RuntimeException("Failed to query REST destination for init information. Status: " + res.getStatus()); } String url = (String) res.getHeaders().getFirst("msg-create-with-id"); if (url == null) { if (res.getLinkHeader() == null) { throw new RuntimeException("Could not find create-with-id URL"); } Link link = res.getLinkHeader().getLinkByTitle("create-with-id"); if (link == null) { throw new RuntimeException("Could not find create-with-id URL"); } url = link.getHref(); } targetUri = ResteasyUriBuilder.fromTemplate(url); }
private Link getLink(final LinkHeaderParam link, ClientRequestContext context) { LinkHeader linkHeader = context.getClientResponse().getLinkHeader(); if (!"".equals(link.rel())) return linkHeader.getLinkByRelationship(link.rel()); else return linkHeader.getLinkByTitle(link.title()); }
.header("Link", header.toString()) .header("total", pageResult.getAggregate().getCount()) .build();
public static String getString(LinkHeader value) { StringBuffer buf = new StringBuffer(); for (Link link : value.getLinks()) { if (buf.length() > 0) buf.append(", "); buf.append(link.toString()); } return buf.toString(); } }
public static Map<String, String> decodeLinkHeader(String linkHeader) { int i; Map<String, String> links = new HashMap<String, String>(); if (linkHeader == null || (i = linkHeader.indexOf('<')) == -1) return links; linkHeader = linkHeader.substring(i); try { for (Link link : LinkHeader.valueOf(linkHeader).getLinks()) { try { links.put(link.getRelationship(), link.getHref()); } catch (Throwable e) { // not interested in this link header } } } catch (Exception e) { log.warn("Error decoding Link header: " + e.getMessage()); return links; } return links; }
protected void initialize() throws Exception { super.start(); initialized = true; initAuthentication(); ClientRequest request = executor.createRequest(registration.getTarget().getHref()); for (XmlHttpHeader header : registration.getHeaders()) { request.header(header.getName(), header.getValue()); } ClientResponse<?> res = request.head(); if (res.getStatus() != 200) { throw new RuntimeException("Failed to query REST destination for init information. Status: " + res.getStatus()); } String url = (String) res.getHeaders().getFirst("msg-create-with-id"); if (url == null) { if (res.getLinkHeader() == null) { throw new RuntimeException("Could not find create-with-id URL"); } Link link = res.getLinkHeader().getLinkByTitle("create-with-id"); if (link == null) { throw new RuntimeException("Could not find create-with-id URL"); } url = link.getHref(); } targetUri = ResteasyUriBuilder.fromTemplate(url); }
header.getLinksByRelationship().put(rel, link); header.getLinksByTitle().put(title, link); header.getLinks().add(link);
public LinkHeader addLink(final String title, final String rel, final String href, final String type) { final Link link = new Link(title, rel, href, type, null); return addLink(link); }
public static String getString(LinkHeader value) { StringBuffer buf = new StringBuffer(); for (Link link : value.getLinks()) { if (buf.length() > 0) buf.append(", "); buf.append(link.toString()); } return buf.toString(); } }
Link link = res.getLinkHeader().getLinkByTitle("create-with-id"); if (link == null)
header.getLinksByRelationship().put(rel, link); header.getLinksByTitle().put(title, link); header.getLinks().add(link);
public LinkHeader addLink(final String title, final String rel, final String href, final String type) { final Link link = Link.fromUri(href).rel(rel).title(title).type(type).build(); return addLink(link); }