Example usage for org.apache.http.client.fluent Request setHeader

List of usage examples for org.apache.http.client.fluent Request setHeader

Introduction

In this page you can find the example usage for org.apache.http.client.fluent Request setHeader.

Prototype

public Request setHeader(final String name, final String value) 

Source Link

Usage

From source file:com.jaspersoft.studio.server.utils.HttpUtils.java

public static Request setRequest(Request req, ServerProfile sp) {
    req.connectTimeout(sp.getTimeout());
    req.socketTimeout(sp.getTimeout());/*from www .j av  a  2  s . c  om*/
    if (sp.isChunked())
        req.setHeader("Transfer-Encoding", "chunked");
    else
        req.removeHeaders("Transfer-Encoding");
    req.setHeader("Accept", "application/" + RestV2Connection.FORMAT);
    return req;
}

From source file:com.jaspersoft.studio.server.protocol.restv2.RestV2Connection.java

@Override
public ResourceDescriptor move(IProgressMonitor monitor, ResourceDescriptor rd, String destFolderURI)
        throws Exception {
    URIBuilder ub = new URIBuilder(url("resources" + destFolderURI));
    ub.addParameter("overwrite", "true");
    ub.addParameter("createFolders", "true");
    Request req = HttpUtils.put(ub.build().toASCIIString(), sp);
    req.setHeader("Content-Location", rd.getUriString());
    String rtype = WsTypes.INST().toRestType(rd.getWsType());
    ClientResource<?> crl = toObj(req, WsTypes.INST().getType(rtype), monitor);
    if (crl != null)
        return Rest2Soap.getRD(this, crl, rd);
    return null;//from ww  w  .  j av a2  s  .  co m
}

From source file:com.jaspersoft.studio.server.protocol.restv2.RestV2Connection.java

@Override
public ResourceDescriptor copy(IProgressMonitor monitor, ResourceDescriptor rd, String destFolderURI)
        throws Exception {
    URIBuilder ub = new URIBuilder(url("resources" + destFolderURI));
    ub.addParameter("overwrite", "true");
    ub.addParameter("createFolders", "true");
    Request req = HttpUtils.post(ub.build().toASCIIString(), sp);
    req.setHeader("Content-Location", rd.getUriString());
    String rtype = WsTypes.INST().toRestType(rd.getWsType());
    ClientResource<?> crl = toObj(req, WsTypes.INST().getType(rtype), monitor);
    if (crl != null)
        return Rest2Soap.getRD(this, crl, rd);
    return null;/* ww w  .  j a  v a 2  s.c om*/
}

From source file:com.jaspersoft.studio.server.protocol.restv2.RestV2Connection.java

@Override
public ResourceDescriptor get(IProgressMonitor monitor, ResourceDescriptor rd, File f) throws Exception {
    URIBuilder ub = new URIBuilder(url("resources" + rd.getUriString()));
    ub.addParameter("expanded", "true");
    Request req = HttpUtils.get(ub.build().toASCIIString(), sp);
    String rtype = WsTypes.INST().toRestType(rd.getWsType());
    req.setHeader("Accept", "application/repository." + rtype + "+" + FORMAT);
    ClientResource<?> crl = toObj(req, WsTypes.INST().getType(rtype), monitor);
    if (crl != null)
        return Rest2Soap.getRD(this, crl, rd);
    return null;//from   w w w .  j  a v  a  2s . com
}

From source file:de.elomagic.maven.http.HTTPMojo.java

@Override
public void execute() throws MojoExecutionException, MojoFailureException {

    try {/* w  w  w .j a  v  a2  s  . c o m*/
        Executor executor;

        if (httpsInsecure) {
            getLog().info("Accepting unsecure HTTPS connections.");
            try {
                SSLContextBuilder builder = new SSLContextBuilder();
                builder.loadTrustMaterial(null, new TrustAllStrategy());
                SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(builder.build());

                final Registry<ConnectionSocketFactory> sfr = RegistryBuilder.<ConnectionSocketFactory>create()
                        .register("http", PlainConnectionSocketFactory.getSocketFactory())
                        .register("https", sslsf).build();

                PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(
                        sfr);
                connectionManager.setDefaultMaxPerRoute(100);
                connectionManager.setMaxTotal(200);
                connectionManager.setValidateAfterInactivity(1000);

                HttpClient httpClient = HttpClientBuilder.create().setConnectionManager(connectionManager)
                        .build();

                executor = Executor.newInstance(httpClient);
            } catch (Exception ex) {
                throw new Exception("Unable to setup HTTP client for unstrusted connections.", ex);
            }
        } else {
            executor = Executor.newInstance();
        }

        Settings settings = session.getSettings();
        if (StringUtils.isNotBlank(serverId)) {
            Server server = settings.getServer(serverId);
            if (server == null) {
                throw new Exception("Server ID \"" + serverId + "\" not found in your Maven settings.xml");
            }
            getLog().debug("ServerId: " + serverId);
            executor.auth(server.getUsername(), server.getPassword());
        }

        Request request = createRequestMethod();

        request.setHeader("Accept", accept);

        if (httpHeaders != null) {
            for (Entry<String, String> entry : httpHeaders.entrySet()) {
                request.addHeader(entry.getKey(), entry.getValue());
            }
        }

        if (formParams != null) {
            Form form = Form.form();
            for (Entry<String, String> entry : formParams.entrySet()) {
                form.add(entry.getKey(), entry.getValue());
            }
        }

        if (fromFile != null) {
            if (!fromFile.exists()) {
                throw new MojoExecutionException("From file \"" + fromFile + "\" doesn't exist.");
            }

            if (StringUtils.isBlank(contentType)) {
                contentType = Files.probeContentType(fromFile.toPath());
            }

            getLog().debug("From file: " + fromFile);
            getLog().debug("Upload file size: "
                    + FileUtils.byteCountToDisplaySize(new Long(fromFile.length()).intValue()));
            getLog().debug("Content type: " + contentType);

            if (StringUtils.isBlank(contentType)) {
                request.body(new FileEntity(fromFile));
            } else {
                request.body(new FileEntity(fromFile, ContentType.create(contentType)));
            }
        }

        getLog().info(method + " " + url);

        Response response = executor.execute(request);
        handleResponse(response);
    } catch (Exception ex) {
        getLog().error(ex);
        if (failOnError) {
            throw new MojoExecutionException(ex.getMessage(), ex);
        } else {
            getLog().info("Fail on error is disabled. Continue execution.");
        }
    }

}

From source file:be.fedict.dcat.datagovbe.Drupal.java

/**
 * Prepare a POST or PUT action.//from   w w  w . j a v  a 2 s.com
 * 
 * @param method POST or PUT
 * @param relpath relative path
 * @return 
 */
private Request prepare(String method, String relpath) {
    String u = this.url.toString() + relpath;

    Request r = method.equals(Drupal.POST) ? Request.Post(u) : Request.Put(u);

    r.setHeader(HttpHeaders.ACCEPT, ContentType.APPLICATION_JSON.getMimeType()).setHeader(Drupal.X_TOKEN,
            token);

    if (proxy != null) {
        r.viaProxy(proxy);
    }
    return r;
}

From source file:org.eclipse.userstorage.internal.Session.java

public boolean deleteBlob(String applicationToken, String key, final Map<String, String> properties,
        ICredentialsProvider credentialsProvider) throws IOException, ConflictException {
    URI uri = StringUtil.newURI(service.getServiceURI(), "api/blob/" + applicationToken + "/" + key);

    boolean deleted = new RequestTemplate<Boolean>(uri) {
        @Override//from  w  w w. j av  a  2 s.c  o  m
        protected Request prepareRequest() throws IOException {
            Request request = configureRequest(Request.Delete(uri), uri);

            String eTag = properties.get(Blob.ETAG);
            if (!StringUtil.isEmpty(eTag)) {
                request.setHeader(IF_MATCH, "\"" + eTag + "\"");
            }

            return request;
        }

        @Override
        protected Boolean handleResponse(HttpResponse response, HttpEntity responseEntity) throws IOException {
            int statusCode = getStatusCode("DELETE", uri, response, NO_CONTENT, CONFLICT, NOT_FOUND);
            String eTag = getETag(response);

            if (statusCode == CONFLICT) {
                StatusLine statusLine = response.getStatusLine();
                throw new ConflictException("DELETE", uri, getProtocolVersion(statusLine),
                        statusLine.getReasonPhrase(), eTag);
            }

            properties.put(Blob.ETAG, "<deleted_etag>");
            return statusCode == NO_CONTENT;
        }
    }.send(credentialsProvider);

    return deleted;
}

From source file:org.eclipse.userstorage.internal.Session.java

public boolean updateBlob(String applicationToken, String key, final Map<String, String> properties,
        final InputStream in, ICredentialsProvider credentialsProvider) throws IOException, ConflictException {
    URI uri = StringUtil.newURI(service.getServiceURI(), "api/blob/" + applicationToken + "/" + key);

    return new RequestTemplate<Boolean>(uri) {
        @Override/*w ww  . j  a va 2  s .c om*/
        protected Request prepareRequest() throws IOException {
            Request request = configureRequest(Request.Put(uri), uri);

            String eTag = properties.get(Blob.ETAG);

            if (DEBUG) {
                System.out.println("Updating etag = " + eTag);
            }

            if (!StringUtil.isEmpty(eTag)) {
                request.setHeader(IF_MATCH, "\"" + eTag + "\"");
            }

            body = JSONUtil.build(Collections.singletonMap("value", in));
            request.bodyStream(body);
            return request;
        }

        @Override
        protected Boolean handleResponse(HttpResponse response, HttpEntity responseEntity) throws IOException {
            String eTag = getETag(response);

            int statusCode = getStatusCode("PUT", uri, response, OK, CREATED, CONFLICT);

            if (statusCode == CONFLICT) {
                StatusLine statusLine = response.getStatusLine();
                throw new ConflictException("PUT", uri, getProtocolVersion(statusLine),
                        statusLine.getReasonPhrase(), eTag);
            }

            if (eTag == null) {
                throw new ProtocolException("PUT", uri, getProtocolVersion(response.getStatusLine()),
                        BAD_RESPONSE, "Bad Response : No ETag");
            }

            if (DEBUG) {
                System.out.println("Updated etag = " + eTag);
            }

            properties.put(Blob.ETAG, eTag);
            return statusCode == CREATED;
        }
    }.send(credentialsProvider);
}

From source file:org.eclipse.userstorage.internal.Session.java

public InputStream retrieveBlob(String applicationToken, String key, final Map<String, String> properties,
        final boolean useETag, ICredentialsProvider credentialsProvider) throws IOException {
    URI uri = StringUtil.newURI(service.getServiceURI(), "api/blob/" + applicationToken + "/" + key);

    return new RequestTemplate<InputStream>(uri) {
        @Override/*  w w w  . j a  v  a  2s. co m*/
        protected Request prepareRequest() throws IOException {
            Request request = configureRequest(Request.Get(uri), uri);

            if (useETag) {
                String eTag = properties.get(Blob.ETAG);

                if (DEBUG) {
                    System.out.println("Retrieving etag = " + eTag);
                }

                if (!StringUtil.isEmpty(eTag)) {
                    request.setHeader(IF_NONE_MATCH, "\"" + eTag + "\"");
                }
            }

            return request;
        }

        @Override
        protected InputStream handleResponse(HttpResponse response, HttpEntity responseEntity)
                throws IOException {
            int statusCode = getStatusCode("GET", uri, response, OK, NOT_MODIFIED, NOT_FOUND);

            String eTag = getETag(response);
            if (eTag != null) {
                if (DEBUG) {
                    System.out.println("Retrieved etag = " + eTag);
                }

                properties.put(Blob.ETAG, eTag);
            }

            if (statusCode == OK) {
                Map<String, Object> object = JSONUtil.parse(responseEntity.getContent(), "value");
                InputStream stream = (InputStream) object.remove("value");

                for (Map.Entry<String, Object> entry : object.entrySet()) {
                    Object value = entry.getValue();
                    properties.put(entry.getKey(), String.valueOf(value));
                }

                return stream;
            }

            if (statusCode == NOT_MODIFIED) {
                return Blob.NOT_MODIFIED;
            }

            // Blob wasn't found.
            properties.clear();

            StatusLine statusLine = response.getStatusLine();
            throw new NotFoundException("GET", uri, getProtocolVersion(statusLine),
                    statusLine.getReasonPhrase());
        }
    }.send(credentialsProvider);
}