Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Apache HTTP Client 5 binding

Maven Central Javadoc

This module is a binding for the Apache HTTP Client library version 5.x.

Use

  1. Include the Maven dependencies in your project's POM.

    <dependencies>
        <dependency>
            <groupId>org.apache.httpcomponents.client5</groupId>
            <artifactId>httpclient5</artifactId>
            <version>5.4.1</version>
        </dependency>
    
        <dependency>
            <groupId>com.akamai.edgegrid</groupId>
            <artifactId>edgerc-reader</artifactId>
            <version>6.0.3</version>
        </dependency>
    
        <dependency>
            <groupId>com.akamai.edgegrid</groupId>
            <artifactId>edgegrid-signer-apache-http-client5</artifactId>
            <version>6.0.3</version>
        </dependency>
    </dependencies>
  2. Create an HTTP client that will sign your HTTP request with a defined set of client credentials from a given section, for example, default, of your .edgerc file.

    import java.io.IOException;
    
    import org.apache.commons.configuration2.ex.ConfigurationException;
    import org.apache.hc.client5.http.classic.methods.HttpGet;
    import org.apache.hc.client5.http.impl.classic.BasicHttpClientResponseHandler;
    import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
    import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
    
    import com.akamai.edgegrid.signer.ClientCredential;
    import com.akamai.edgegrid.signer.EdgeRcClientCredentialProvider;
    import com.akamai.edgegrid.signer.apachehttpclient5.ApacheHttpClient5EdgeGridInterceptor;
    import com.akamai.edgegrid.signer.apachehttpclient5.ApacheHttpClient5EdgeGridRoutePlanner;
    
    public class GetUserProfile {
        public static void main(String[] args) throws ConfigurationException, IOException {
            ClientCredential credential = EdgeRcClientCredentialProvider
                    .fromEdgeRc("~/.edgerc", "default")
                    .getClientCredential(null);
    
            try (CloseableHttpClient client = HttpClientBuilder.create()
                    .addRequestInterceptorFirst(new ApacheHttpClient5EdgeGridInterceptor(credential))
                    .setRoutePlanner(new ApacheHttpClient5EdgeGridRoutePlanner(credential))
                    .build()) {
    
                String uri = "https://" + credential.getHost() + "/identity-management/v3/user-profile";
                System.out.println(client.execute(new HttpGet(uri), new BasicHttpClientResponseHandler()));
            }
        }
    }