List of usage examples for org.apache.http.message BasicHttpRequest setHeader
public void setHeader(String str, String str2)
From source file:name.persistent.behaviours.RemoteDomainSupport.java
private HttpResponse resolveRemotePURL(InetSocketAddress addr, String source, String qs, String accept, String language, Set<String> via) throws IOException, InterruptedException { HTTPObjectClient client = HTTPObjectClient.getInstance(); String url = qs == null ? source : source + "?" + qs; BasicHttpRequest req = new BasicHttpRequest("GET", url); if (accept != null) { req.setHeader("Accept", accept); }// ww w. ja va 2s. c o m if (language != null) { req.setHeader("Accept-Language", language); } StringBuilder sb = new StringBuilder(); for (String v : via) { if (v.contains(VIA) && (v.endsWith(VIA) || v.contains(VIA + ","))) throw new InternalServerError("Request Loop Detected\n" + via + "\n" + VIA); if (sb.length() > 0) { sb.append(","); } sb.append(v); } sb.append(VIA); req.setHeader("Via", sb.toString()); try { HttpResponse resp = client.service(addr, req); if (!resp.containsHeader("Via")) { String original = "1.1 " + addr.getHostName(); if (addr.getPort() != 80 && addr.getPort() != 443) { original += ":" + addr.getPort(); } resp.addHeader("Via", original); } StatusLine status = resp.getStatusLine(); if (status.getStatusCode() >= 500) { ProtocolVersion ver = status.getProtocolVersion(); String phrase = status.getReasonPhrase(); resp.setStatusLine(new BasicStatusLine(ver, 502, phrase)); blackList.put(addr, Boolean.TRUE); return resp; } else { return resp; } } catch (GatewayTimeout e) { blackList.put(addr, Boolean.TRUE); return null; } }
From source file:name.persistent.behaviours.RemoteGraphSupport.java
@Override public boolean reload(String origin) throws Exception { String url = getResource().stringValue(); BasicHttpRequest req = new BasicHttpRequest("GET", url); String type = getPurlContentType(); if (type == null) { req.setHeader("Accept", "application/rdf+xml"); } else {//from w w w . j a v a2s . c o m req.setHeader("Accept", type); } String etag = getPurlEtag(); if (etag != null) { req.setHeader("If-None-Match", etag); } XMLGregorianCalendar modified = getPurlLastModified(); if (modified != null) { Date date = modified.toGregorianCalendar().getTime(); req.setHeader("If-Modified-Since", DateUtil.formatDate(date)); } HttpResponse resp = requestRDF(req, 20); int code = resp.getStatusLine().getStatusCode(); if (code == 304) { DatatypeFactory df = DatatypeFactory.newInstance(); GregorianCalendar gc = new GregorianCalendar(); setPurlLastValidated(df.newXMLGregorianCalendar(gc)); setPurlCacheControl(getHeader(resp, "Cache-Control")); } if (code == 304 || code == 404) { HttpEntity entity = resp.getEntity(); if (entity != null) { entity.consumeContent(); } return true; } return importResponse(resp, origin); }
From source file:name.persistent.behaviours.RemoteGraphSupport.java
@Override public boolean load(String... origin) throws Exception { String url = getResource().stringValue(); BasicHttpRequest req = new BasicHttpRequest("GET", url); String type = "application/rdf+xml"; if (getPurlContentType() != null) { type = getPurlContentType();/*from ww w . j a v a 2s .co m*/ } req.setHeader("Accept", type); HttpResponse resp = requestRDF(req, 20); return importResponse(resp, origin); }
From source file:name.persistent.behaviours.PURLSupport.java
private HttpResponse getFinalResponse(String url, Set<String> via) throws IOException { HTTPObjectClient client = HTTPObjectClient.getInstance(); BasicHttpRequest req = new BasicHttpRequest("GET", url); StringBuilder sb = new StringBuilder(); for (String v : via) { if (v.contains(VIA) && (v.endsWith(VIA) || v.contains(VIA + ","))) throw new InternalServerError("Request Loop Detected\n" + via + "\n" + VIA); if (sb.length() > 0) { sb.append(","); }/* w ww.ja v a 2s . co m*/ sb.append(v); } sb.append(VIA); req.setHeader("Via", sb.toString()); HttpResponse bd = client.service(req); int code = bd.getStatusLine().getStatusCode(); if (code >= 300 && code < 400) { HttpEntity entity = bd.getEntity(); if (entity != null) { entity.consumeContent(); } if (bd.containsHeader("Location")) { String loc = bd.getFirstHeader("Location").getValue(); return getFinalResponse(loc, via); } String msg = bd.getStatusLine().getReasonPhrase(); return new BasicHttpResponse(HTTP11, 502, msg); } return bd; }
From source file:ste.web.http.BugFreeHttpUtils.java
@Test public void has_JSON_body() throws Exception { BasicHttpRequest request = new BasicHttpRequest("GET", TEST_URI_PARAMETERS); then(HttpUtils.hasJSONBody(request)).isFalse(); request.setHeader(HTTP.CONTENT_TYPE, "text/plain"); then(HttpUtils.hasJSONBody(request)).isFalse(); request.setHeader(HTTP.CONTENT_TYPE, CONTENT_TYPE_JSON); then(HttpUtils.hasJSONBody(request)).isTrue(); request.setHeader(HTTP.CONTENT_TYPE, CONTENT_TYPE_JSON + "; cherset=UTF8"); then(HttpUtils.hasJSONBody(request)).isTrue(); }