Example usage for org.apache.http.message BasicHttpRequest setHeader

List of usage examples for org.apache.http.message BasicHttpRequest setHeader

Introduction

In this page you can find the example usage for org.apache.http.message BasicHttpRequest setHeader.

Prototype

public void setHeader(String str, String str2) 

Source Link

Usage

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();
}