From 40082b171ee2ca847975b0011e8bdef010c9b136 Mon Sep 17 00:00:00 2001 From: Piyush Kaushik Date: Tue, 24 Jan 2023 11:03:54 +0000 Subject: [PATCH 1/8] DXE-2051 Updated snapshot version in develop --- edgegrid-signer-apache-http-client/pom.xml | 2 +- edgegrid-signer-async-http-client/pom.xml | 2 +- edgegrid-signer-core/pom.xml | 2 +- edgegrid-signer-google-http-client/pom.xml | 2 +- edgegrid-signer-rest-assured/pom.xml | 2 +- edgerc-reader/pom.xml | 2 +- pom.xml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/edgegrid-signer-apache-http-client/pom.xml b/edgegrid-signer-apache-http-client/pom.xml index 8a8d3f7..4ddb186 100644 --- a/edgegrid-signer-apache-http-client/pom.xml +++ b/edgegrid-signer-apache-http-client/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.0 + 5.0.1-SNAPSHOT 4.0.0 diff --git a/edgegrid-signer-async-http-client/pom.xml b/edgegrid-signer-async-http-client/pom.xml index da54074..3c763d3 100644 --- a/edgegrid-signer-async-http-client/pom.xml +++ b/edgegrid-signer-async-http-client/pom.xml @@ -5,7 +5,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.0 + 5.0.1-SNAPSHOT 4.0.0 diff --git a/edgegrid-signer-core/pom.xml b/edgegrid-signer-core/pom.xml index 8196d73..9d036e8 100644 --- a/edgegrid-signer-core/pom.xml +++ b/edgegrid-signer-core/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.0 + 5.0.1-SNAPSHOT edgegrid-signer-core diff --git a/edgegrid-signer-google-http-client/pom.xml b/edgegrid-signer-google-http-client/pom.xml index b915906..1afa2b4 100644 --- a/edgegrid-signer-google-http-client/pom.xml +++ b/edgegrid-signer-google-http-client/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.0 + 5.0.1-SNAPSHOT edgegrid-signer-google-http-client diff --git a/edgegrid-signer-rest-assured/pom.xml b/edgegrid-signer-rest-assured/pom.xml index 4d6e2a6..8c9daec 100644 --- a/edgegrid-signer-rest-assured/pom.xml +++ b/edgegrid-signer-rest-assured/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.0 + 5.0.1-SNAPSHOT edgegrid-signer-rest-assured diff --git a/edgerc-reader/pom.xml b/edgerc-reader/pom.xml index 584ad0b..0407f9b 100644 --- a/edgerc-reader/pom.xml +++ b/edgerc-reader/pom.xml @@ -5,7 +5,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.0 + 5.0.1-SNAPSHOT 4.0.0 diff --git a/pom.xml b/pom.xml index 3d879e4..bb50b2e 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.akamai.edgegrid edgegrid-signer-parent - 5.0.0 + 5.0.1-SNAPSHOT edgegrid-signer-apache-http-client From 80fcf1276ef2a288deeac647deaf343d2fd94bce Mon Sep 17 00:00:00 2001 From: Wojciech Zagrajczuk Date: Thu, 17 Aug 2023 07:56:10 +0000 Subject: [PATCH 2/8] DXE-2911 Correct version and fix readme --- edgegrid-signer-apache-http-client/README.md | 2 +- edgegrid-signer-apache-http-client5/README.md | 4 +--- edgegrid-signer-apache-http-client5/pom.xml | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/edgegrid-signer-apache-http-client/README.md b/edgegrid-signer-apache-http-client/README.md index 6aed718..ea855eb 100644 --- a/edgegrid-signer-apache-http-client/README.md +++ b/edgegrid-signer-apache-http-client/README.md @@ -5,7 +5,7 @@ This library implements [Akamai EdgeGrid Authentication](https://techdocs.akamai.com/developer/docs/authenticate-with-edgegrid) for Java. This particular module is a binding for the [Apache HTTP Client library](https://hc.apache.org/) versions before 5.0.0. -For Apache HTTP Client >= 5.0.0 support, use `edgegrid-signer-apache-http-client5` module. +For Apache HTTP Client >= 5.0.0, use `edgegrid-signer-apache-http-client5` module. This project contains installation and usage instructions in the [README.md](../README.md). ## Use Apache HTTP Client diff --git a/edgegrid-signer-apache-http-client5/README.md b/edgegrid-signer-apache-http-client5/README.md index bf7da9f..a049097 100644 --- a/edgegrid-signer-apache-http-client5/README.md +++ b/edgegrid-signer-apache-http-client5/README.md @@ -3,9 +3,7 @@ -[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.akamai.edgegrid/edgegrid-signer-apache-http-client5/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.akamai.edgegrid/edgegrid-signer-apache-http-client5) -[![Javadoc](http://www.javadoc.io/badge/com.akamai.edgegrid/edgegrid-signer-apache-http-client5.svg)](http://www.javadoc.io/doc/com.akamai.edgegrid/edgegrid-signer-apache-http-client5) -This library -implements [Akamai EdgeGrid Authentication](https://techdocs.akamai.com/developer/docs/authenticate-with-edgegrid) for -Java. +This library implements [Akamai EdgeGrid Authentication](https://techdocs.akamai.com/developer/docs/authenticate-with-edgegrid) for Java. This particular module is a binding for the [Apache HTTP Client library version 5.x](https://hc.apache.org/). This project contains installation and usage instructions in the [README.md](../README.md). diff --git a/edgegrid-signer-apache-http-client5/pom.xml b/edgegrid-signer-apache-http-client5/pom.xml index c574c22..b2f00e8 100644 --- a/edgegrid-signer-apache-http-client5/pom.xml +++ b/edgegrid-signer-apache-http-client5/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.0 + 5.0.1-SNAPSHOT 4.0.0 From 00ed4ec1b91845793558e13aa4c0860cffd8aa60 Mon Sep 17 00:00:00 2001 From: "Zagrajczuk, Wojciech" Date: Fri, 18 Aug 2023 14:06:15 +0200 Subject: [PATCH 3/8] DXE-2911 Correct imports --- .../ApacheHttpClient5EdgeGridRequestSignerTest.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/edgegrid-signer-apache-http-client5/src/test/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRequestSignerTest.java b/edgegrid-signer-apache-http-client5/src/test/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRequestSignerTest.java index 2e69e48..f840b91 100644 --- a/edgegrid-signer-apache-http-client5/src/test/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRequestSignerTest.java +++ b/edgegrid-signer-apache-http-client5/src/test/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRequestSignerTest.java @@ -8,7 +8,10 @@ import java.net.URISyntaxException; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.*; +import static org.hamcrest.Matchers.equalTo; +import static org.hamcrest.Matchers.isEmptyOrNullString; +import static org.hamcrest.Matchers.not; +import static org.hamcrest.Matchers.notNullValue; /** * Example of use of EdgeGrid signer with Apache HTTP Client5. From 2861f6fbfc2910151d40644215ff1a0759e27b44 Mon Sep 17 00:00:00 2001 From: Michal Mazur Date: Thu, 31 Aug 2023 10:42:50 +0000 Subject: [PATCH 4/8] DXE-2911 Https protocol issue fix --- ...ApacheHttpClient5EdgeGridRoutePlanner.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRoutePlanner.java b/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRoutePlanner.java index 2724125..de6212c 100644 --- a/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRoutePlanner.java +++ b/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRoutePlanner.java @@ -1,34 +1,42 @@ package com.akamai.edgegrid.signer.apachehttpclient5; import com.akamai.edgegrid.signer.ClientCredential; -import org.apache.hc.client5.http.impl.routing.SystemDefaultRoutePlanner; +import org.apache.hc.client5.http.HttpRoute; +import org.apache.hc.client5.http.routing.HttpRoutePlanner; +import org.apache.hc.core5.annotation.Contract; +import org.apache.hc.core5.annotation.ThreadingBehavior; +import org.apache.hc.core5.http.HttpException; import org.apache.hc.core5.http.HttpHost; import org.apache.hc.core5.http.protocol.HttpContext; -import java.net.ProxySelector; - -public class ApacheHttpClient5EdgeGridRoutePlanner extends SystemDefaultRoutePlanner { +@Contract(threading = ThreadingBehavior.STATELESS) +public class ApacheHttpClient5EdgeGridRoutePlanner implements HttpRoutePlanner { private final ClientCredential clientCredential; public ApacheHttpClient5EdgeGridRoutePlanner(ClientCredential clientCredential) { - super(ProxySelector.getDefault()); this.clientCredential = clientCredential; } @Override - protected HttpHost determineProxy(HttpHost target, HttpContext context) { + public HttpRoute determineRoute(HttpHost target, HttpContext context) throws HttpException { var hostname = clientCredential.getHost(); - int port = -1; + int port = 443; final int pos = hostname.lastIndexOf(":"); if (pos > 0) { try { port = Integer.parseInt(hostname.substring(pos + 1)); + if (port <= 0 || port > 65535) { + throw new NumberFormatException(); + } } catch (NumberFormatException ex) { throw new IllegalArgumentException("Host contains invalid port number: " + hostname); } hostname = hostname.substring(0, pos); } - return new HttpHost("https", hostname, port); + HttpHost host = new HttpHost("https", hostname, port); + return new HttpRoute(host, null, true); } } + + From 1d9129a5515fa964959babb139706fec5e472fd8 Mon Sep 17 00:00:00 2001 From: Michal Mazur Date: Fri, 1 Sep 2023 14:04:27 +0000 Subject: [PATCH 5/8] DXE-2982 changelog --- CHANGELOG.md | 12 ++++++ ...ApacheHttpClientEdgeGridRequestSigner.java | 10 +++++ .../ApacheHttpClientEdgeGridRoutePlanner.java | 16 +++++++- ...pacheHttpClient5EdgeGridRequestSigner.java | 10 +++++ ...ApacheHttpClient5EdgeGridRoutePlanner.java | 9 +++++ .../AsyncHttpClientEdgeGridRequestSigner.java | 15 +++++++ ...HttpClientEdgeGridSignatureCalculator.java | 15 +++++++ .../signer/AbstractEdgeGridRequestSigner.java | 11 ++++- .../edgegrid/signer/ClientCredential.java | 40 +++++++++++++++++++ .../DefaultClientCredentialProvider.java | 5 +++ .../com/akamai/edgegrid/signer/Request.java | 11 ++++- .../NoMatchingCredentialException.java | 9 +++++ .../exceptions/RequestSigningException.java | 20 ++++++++++ edgegrid-signer-google-http-client/pom.xml | 4 ++ ...GoogleHttpClientEdgeGridRequestSigner.java | 7 ++++ .../RestAssuredEdgeGridRequestSigner.java | 6 +++ pom.xml | 15 ++++--- 17 files changed, 207 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48cd080..7851007 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Change log +## 5.1.0 (September 4, 2023) + +### Improvements + +* Add support for Apache HTTP Client version 5. + +### Fixes + +* Fixes for various CVE vulnerabilities by upgrading netty, dependency-check and guava libraries. +* Fixes some build errors by upgrading Jacoco library. +* Resolve various Javadoc warnings in different modules. + ## 5.0.0 (January 19, 2023) ### BREAKING CHANGES diff --git a/edgegrid-signer-apache-http-client/src/main/java/com/akamai/edgegrid/signer/apachehttpclient/ApacheHttpClientEdgeGridRequestSigner.java b/edgegrid-signer-apache-http-client/src/main/java/com/akamai/edgegrid/signer/apachehttpclient/ApacheHttpClientEdgeGridRequestSigner.java index 761a10a..705ad61 100644 --- a/edgegrid-signer-apache-http-client/src/main/java/com/akamai/edgegrid/signer/apachehttpclient/ApacheHttpClientEdgeGridRequestSigner.java +++ b/edgegrid-signer-apache-http-client/src/main/java/com/akamai/edgegrid/signer/apachehttpclient/ApacheHttpClientEdgeGridRequestSigner.java @@ -41,10 +41,20 @@ */ public class ApacheHttpClientEdgeGridRequestSigner extends AbstractEdgeGridRequestSigner { + /** + * Creates an EdgeGrid signer using {@link ClientCredential}. + * + * @param clientCredential a {@link ClientCredential} + */ public ApacheHttpClientEdgeGridRequestSigner(ClientCredential clientCredential) { super(clientCredential); } + /** + * Creates an EdgeGrid signer using {@link ClientCredentialProvider}. + * + * @param clientCredentialProvider a {@link ClientCredentialProvider} + */ public ApacheHttpClientEdgeGridRequestSigner(ClientCredentialProvider clientCredentialProvider) { super(clientCredentialProvider); } diff --git a/edgegrid-signer-apache-http-client/src/main/java/com/akamai/edgegrid/signer/apachehttpclient/ApacheHttpClientEdgeGridRoutePlanner.java b/edgegrid-signer-apache-http-client/src/main/java/com/akamai/edgegrid/signer/apachehttpclient/ApacheHttpClientEdgeGridRoutePlanner.java index ac95c6c..28f93a7 100644 --- a/edgegrid-signer-apache-http-client/src/main/java/com/akamai/edgegrid/signer/apachehttpclient/ApacheHttpClientEdgeGridRoutePlanner.java +++ b/edgegrid-signer-apache-http-client/src/main/java/com/akamai/edgegrid/signer/apachehttpclient/ApacheHttpClientEdgeGridRoutePlanner.java @@ -28,16 +28,30 @@ import org.apache.http.conn.routing.HttpRoute; import org.apache.http.impl.conn.SystemDefaultRoutePlanner; import org.apache.http.protocol.HttpContext; - +/** + * Apache HTTP Client binding for EdgeGrid route planner for computing {@link HttpRoute}. + * + * @author mgawinec@akamai.com + */ public class ApacheHttpClientEdgeGridRoutePlanner extends SystemDefaultRoutePlanner { private final ApacheHttpClientEdgeGridRequestSigner binding; + /** + * Creates an EdgeGrid route planner using {@link ClientCredential}. + * + * @param clientCredential a {@link ClientCredential} + */ public ApacheHttpClientEdgeGridRoutePlanner(ClientCredential clientCredential) { super(ProxySelector.getDefault()); this.binding = new ApacheHttpClientEdgeGridRequestSigner(clientCredential); } + /** + * Creates an EdgeGrid route planner using {@link ClientCredentialProvider}. + * + * @param clientCredentialProvider a {@link ClientCredentialProvider} + */ public ApacheHttpClientEdgeGridRoutePlanner(ClientCredentialProvider clientCredentialProvider) { super(ProxySelector.getDefault()); this.binding = new ApacheHttpClientEdgeGridRequestSigner(clientCredentialProvider); diff --git a/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRequestSigner.java b/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRequestSigner.java index 1759991..b31a572 100644 --- a/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRequestSigner.java +++ b/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRequestSigner.java @@ -19,10 +19,20 @@ */ public class ApacheHttpClient5EdgeGridRequestSigner extends AbstractEdgeGridRequestSigner { + /** + * Creates an EdgeGrid signer using {@link ClientCredential}. + * + * @param clientCredential a {@link ClientCredential} + */ public ApacheHttpClient5EdgeGridRequestSigner(ClientCredential clientCredential) { super(clientCredential); } + /** + * Creates an EdgeGrid signer using {@link ClientCredentialProvider}. + * + * @param clientCredentialProvider a {@link ClientCredentialProvider} + */ public ApacheHttpClient5EdgeGridRequestSigner(ClientCredentialProvider clientCredentialProvider) { super(clientCredentialProvider); } diff --git a/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRoutePlanner.java b/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRoutePlanner.java index de6212c..de22d14 100644 --- a/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRoutePlanner.java +++ b/edgegrid-signer-apache-http-client5/src/main/java/com/akamai/edgegrid/signer/apachehttpclient5/ApacheHttpClient5EdgeGridRoutePlanner.java @@ -9,11 +9,20 @@ import org.apache.hc.core5.http.HttpHost; import org.apache.hc.core5.http.protocol.HttpContext; +/** + * Apache HTTP Client binding for EdgeGrid route planner for computing {@link HttpRoute}. + * + */ @Contract(threading = ThreadingBehavior.STATELESS) public class ApacheHttpClient5EdgeGridRoutePlanner implements HttpRoutePlanner { private final ClientCredential clientCredential; + /** + * Creates an EdgeGrid route planner using {@link ClientCredential}. + * + * @param clientCredential a {@link ClientCredential} + */ public ApacheHttpClient5EdgeGridRoutePlanner(ClientCredential clientCredential) { this.clientCredential = clientCredential; } diff --git a/edgegrid-signer-async-http-client/src/main/java/com/akamai/edgegrid/signer/ahc/AsyncHttpClientEdgeGridRequestSigner.java b/edgegrid-signer-async-http-client/src/main/java/com/akamai/edgegrid/signer/ahc/AsyncHttpClientEdgeGridRequestSigner.java index c54aff7..01a7e6c 100644 --- a/edgegrid-signer-async-http-client/src/main/java/com/akamai/edgegrid/signer/ahc/AsyncHttpClientEdgeGridRequestSigner.java +++ b/edgegrid-signer-async-http-client/src/main/java/com/akamai/edgegrid/signer/ahc/AsyncHttpClientEdgeGridRequestSigner.java @@ -37,12 +37,27 @@ import static org.asynchttpclient.util.MiscUtils.isNonEmpty; +/** + * Async HTTP Client binding for EdgeGrid signer for signing {@link Request}. + * + * @author mgawinec@akamai.com + */ public class AsyncHttpClientEdgeGridRequestSigner extends AbstractEdgeGridRequestSigner { + /** + * Creates an EdgeGrid signer using {@link ClientCredential}. + * + * @param credential a {@link ClientCredential} + */ public AsyncHttpClientEdgeGridRequestSigner(ClientCredential credential) { super(credential); } + /** + * Creates an EdgeGrid signer using {@link ClientCredentialProvider}. + * + * @param credentialProvider a {@link ClientCredentialProvider} + */ public AsyncHttpClientEdgeGridRequestSigner(ClientCredentialProvider credentialProvider) { super(credentialProvider); } diff --git a/edgegrid-signer-async-http-client/src/main/java/com/akamai/edgegrid/signer/ahc/AsyncHttpClientEdgeGridSignatureCalculator.java b/edgegrid-signer-async-http-client/src/main/java/com/akamai/edgegrid/signer/ahc/AsyncHttpClientEdgeGridSignatureCalculator.java index cb54e99..590130f 100644 --- a/edgegrid-signer-async-http-client/src/main/java/com/akamai/edgegrid/signer/ahc/AsyncHttpClientEdgeGridSignatureCalculator.java +++ b/edgegrid-signer-async-http-client/src/main/java/com/akamai/edgegrid/signer/ahc/AsyncHttpClientEdgeGridSignatureCalculator.java @@ -24,14 +24,29 @@ import org.asynchttpclient.RequestBuilderBase; import org.asynchttpclient.SignatureCalculator; +/** + * Async HTTP Client binding for EdgeGrid signature calculator {@link SignatureCalculator}. + * + * @author mgawinec@akamai.com + */ public class AsyncHttpClientEdgeGridSignatureCalculator implements SignatureCalculator { private final AsyncHttpClientEdgeGridRequestSigner binding; + /** + * Creates an EdgeGrid signature calculator using {@link ClientCredential}. + * + * @param credential a {@link ClientCredential} + */ public AsyncHttpClientEdgeGridSignatureCalculator(ClientCredential credential) { this.binding = new AsyncHttpClientEdgeGridRequestSigner(credential); } + /** + * Creates an EdgeGrid signature calculator using {@link ClientCredentialProvider}. + * + * @param credentialProvider a {@link ClientCredentialProvider} + */ public AsyncHttpClientEdgeGridSignatureCalculator(ClientCredentialProvider credentialProvider) { this.binding = new AsyncHttpClientEdgeGridRequestSigner(credentialProvider); } diff --git a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/AbstractEdgeGridRequestSigner.java b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/AbstractEdgeGridRequestSigner.java index 05ae238..2cfb512 100644 --- a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/AbstractEdgeGridRequestSigner.java +++ b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/AbstractEdgeGridRequestSigner.java @@ -32,6 +32,7 @@ * offers a more configurable way to retrieve credentials any way the user wants.

* * @param a type of HTTP client specific request. + * @param a type of HTTP client request to update. * @author mgawinec@akamai.com * @author mmeyer@akamai.com */ @@ -64,7 +65,12 @@ public AbstractEdgeGridRequestSigner(ClientCredentialProvider clientCredentialPr this.edgeGridSigner = new EdgeGridV1Signer(); } - + /** + * Retrieves {@link ClientCredentialProvider}. + * + * @return {@link ClientCredentialProvider} + * + */ public final ClientCredentialProvider getClientCredentialProvider() { return clientCredentialProvider; } @@ -100,6 +106,9 @@ public void sign(RequestT request, MutableRequestT requestToUpdate) throws Reque /** * Returns Request-URI of an original request. + * + * @param request an HTTP client-specific request + * @return a {@link URI} of {@code request} */ protected abstract URI requestUri(RequestT request); diff --git a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/ClientCredential.java b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/ClientCredential.java index 259a117..054ad7b 100644 --- a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/ClientCredential.java +++ b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/ClientCredential.java @@ -96,26 +96,62 @@ public boolean equals(Object o) { return compareTo(that) == 0; } + /** + * Retrieves access token. + * + * @return accessToken + * + */ public String getAccessToken() { return accessToken; } + /** + * Retrieves client secret. + * + * @return clientSecret + * + */ public String getClientSecret() { return clientSecret; } + /** + * Retrieves client token. + * + * @return clientToken + * + */ public String getClientToken() { return clientToken; } + /** + * Retrieves set of headers for signing. + * + * @return headersToSign + * + */ public Set getHeadersToSign() { return headersToSign; } + /** + * Retrieves host. + * + * @return host + * + */ public String getHost() { return host; } + /** + * Defines maximum body size defined in bytes. + * + * @return maxBodySize + * + */ public int getMaxBodySize() { if (maxBodySize == null) { return DEFAULT_MAX_BODY_SIZE_IN_BYTES; @@ -141,6 +177,10 @@ public String toString() { .toString(); } + /** + * Defines {@link ClientCredentialBuilder} which is used to build instance of {@link ClientCredential}. + * + */ public static class ClientCredentialBuilder { private String accessToken; private String clientSecret; diff --git a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/DefaultClientCredentialProvider.java b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/DefaultClientCredentialProvider.java index f2c4f9f..a6cb026 100644 --- a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/DefaultClientCredentialProvider.java +++ b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/DefaultClientCredentialProvider.java @@ -28,6 +28,11 @@ public class DefaultClientCredentialProvider implements ClientCredentialProvider private ClientCredential clientCredential; + /** + * Creates a {@link DefaultClientCredentialProvider} using {@link ClientCredential}. + * + * @param clientCredential a {@link ClientCredential} + */ public DefaultClientCredentialProvider(ClientCredential clientCredential) { this.clientCredential = Objects.requireNonNull(clientCredential, "clientCredential cannot be null"); } diff --git a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/Request.java b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/Request.java index 6f3989e..7a01025 100644 --- a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/Request.java +++ b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/Request.java @@ -16,6 +16,8 @@ package com.akamai.edgegrid.signer; +import com.akamai.edgegrid.signer.exceptions.RequestSigningException; + import java.net.URI; import java.net.URISyntaxException; import java.util.Arrays; @@ -47,6 +49,11 @@ public class Request implements Comparable { private final URI uri; private final Map headers; + /** + * Creates a new instance of {@link Request} using provided request builder. + * + * @param b {@link RequestBuilder} + */ private Request(RequestBuilder b) { this.body = b.body; this.method = b.method; @@ -143,7 +150,7 @@ URI getUri() { } /** - * Creates a new builder. The returned builder is equivalent to the builder + * Creates an instance of {@link Request#builder()}. The returned builder is equivalent to the builder * generated by {@link Request#builder()}. */ public static class RequestBuilder { @@ -281,6 +288,8 @@ public RequestBuilder uri(URI uri) { /** * Returns a newly-created immutable HTTP request. + * + * @return new HTTP request {@link Request} */ public Request build() { Objects.requireNonNull(body, "body cannot be empty"); diff --git a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/exceptions/NoMatchingCredentialException.java b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/exceptions/NoMatchingCredentialException.java index 8049842..fe6a1e2 100644 --- a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/exceptions/NoMatchingCredentialException.java +++ b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/exceptions/NoMatchingCredentialException.java @@ -29,10 +29,19 @@ public class NoMatchingCredentialException extends RequestSigningException { private static final long serialVersionUID = -6663545494847315492L; + /** + * Creates a {@link NoMatchingCredentialException} with default message. + * + */ public NoMatchingCredentialException() { super(MESSAGE); } + /** + * Creates a {@link NoMatchingCredentialException} using {@link Exception}. + * + * @param e a {@link Exception} + */ public NoMatchingCredentialException(Exception e) { super(MESSAGE, e); } diff --git a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/exceptions/RequestSigningException.java b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/exceptions/RequestSigningException.java index b4f585b..9932599 100644 --- a/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/exceptions/RequestSigningException.java +++ b/edgegrid-signer-core/src/main/java/com/akamai/edgegrid/signer/exceptions/RequestSigningException.java @@ -25,18 +25,38 @@ public class RequestSigningException extends Exception { private static final long serialVersionUID = -4716437270940718895L; + /** + * Creates a default {@link RequestSigningException} . + * + */ public RequestSigningException() { super(); } + /** + * Creates a {@link RequestSigningException} using message. + * + * @param message exception message + */ public RequestSigningException(String message) { super(message); } + /** + * Creates a {@link RequestSigningException} using {@link Throwable}. + * + * @param t a {@link Throwable} + */ public RequestSigningException(Throwable t) { super(t); } + /** + * Creates a {@link RequestSigningException} using {@link Throwable} and message. + * + * @param message exception message + * @param t a {@link Throwable} + */ public RequestSigningException(String message, Throwable t) { super(message, t); } diff --git a/edgegrid-signer-google-http-client/pom.xml b/edgegrid-signer-google-http-client/pom.xml index 1afa2b4..5ce552e 100644 --- a/edgegrid-signer-google-http-client/pom.xml +++ b/edgegrid-signer-google-http-client/pom.xml @@ -31,6 +31,10 @@ com.github.tomakehurst wiremock + + io.grpc + grpc-context + org.hamcrest hamcrest-all diff --git a/edgegrid-signer-google-http-client/src/main/java/com/akamai/edgegrid/signer/googlehttpclient/GoogleHttpClientEdgeGridRequestSigner.java b/edgegrid-signer-google-http-client/src/main/java/com/akamai/edgegrid/signer/googlehttpclient/GoogleHttpClientEdgeGridRequestSigner.java index 37abd0f..267c36a 100644 --- a/edgegrid-signer-google-http-client/src/main/java/com/akamai/edgegrid/signer/googlehttpclient/GoogleHttpClientEdgeGridRequestSigner.java +++ b/edgegrid-signer-google-http-client/src/main/java/com/akamai/edgegrid/signer/googlehttpclient/GoogleHttpClientEdgeGridRequestSigner.java @@ -84,6 +84,13 @@ protected Request map(HttpRequest request) { return builder.build(); } + /** + * Google HTTP Client Library sign method binding of EdgeGrid signer which signs {@link HttpRequest} with appropriate credentials using EdgeGrid signer algorithm and + * replaces {@link HttpRequest}'s host name with the one specified by the credential. + * + * @param request a {@link HttpRequest} + * @throws RequestSigningException if failed to sign a request + */ public void sign(HttpRequest request) throws RequestSigningException { sign(request, request); } diff --git a/edgegrid-signer-rest-assured/src/main/java/com/akamai/edgegrid/signer/restassured/RestAssuredEdgeGridRequestSigner.java b/edgegrid-signer-rest-assured/src/main/java/com/akamai/edgegrid/signer/restassured/RestAssuredEdgeGridRequestSigner.java index 4ae76d2..e0cde0a 100644 --- a/edgegrid-signer-rest-assured/src/main/java/com/akamai/edgegrid/signer/restassured/RestAssuredEdgeGridRequestSigner.java +++ b/edgegrid-signer-rest-assured/src/main/java/com/akamai/edgegrid/signer/restassured/RestAssuredEdgeGridRequestSigner.java @@ -78,6 +78,12 @@ private static byte[] serialize(Object requestBody) { } } + /** + * REST-assured sign method binding of EdgeGrid signer using {@link FilterableRequestSpecification} + * + * @param requestSpecification a {@link FilterableRequestSpecification} + * @throws RequestSigningException if failed to sign a request + */ public void sign(FilterableRequestSpecification requestSpecification) throws RequestSigningException { sign(requestSpecification, requestSpecification); } diff --git a/pom.xml b/pom.xml index 1c23ec2..a270fa1 100644 --- a/pom.xml +++ b/pom.xml @@ -80,9 +80,9 @@ 11 11 1.7.36 - 4.1.78.Final + 4.1.97.Final 1.2.11 - 7.1.1 + 8.4.0 @@ -109,12 +109,12 @@ com.google.guava guava - 32.0.0-jre + 32.1.2-jre com.google.http-client google-http-client - 1.42.1 + 1.43.3 io.rest-assured @@ -186,6 +186,11 @@ 7.7.0 test + + io.grpc + grpc-context + 1.57.2 + @@ -195,7 +200,7 @@ org.jacoco jacoco-maven-plugin - 0.8.8 + 0.8.10 prepare-agent From b0667f2a97bc96c9ddfd590a8c55e4a91bf72d33 Mon Sep 17 00:00:00 2001 From: Michal Wojcik Date: Tue, 5 Sep 2023 12:05:35 +0200 Subject: [PATCH 6/8] DXE-2981 Release AkamaiOpen Edgegrid Java 5.1.0 --- CHANGELOG.md | 2 +- edgegrid-signer-apache-http-client/pom.xml | 2 +- edgegrid-signer-apache-http-client5/pom.xml | 2 +- edgegrid-signer-async-http-client/pom.xml | 2 +- edgegrid-signer-core/pom.xml | 2 +- edgegrid-signer-google-http-client/pom.xml | 2 +- edgegrid-signer-rest-assured/pom.xml | 2 +- edgerc-reader/pom.xml | 2 +- pom.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7851007..8e41e91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change log -## 5.1.0 (September 4, 2023) +## 5.1.0 (September 5, 2023) ### Improvements diff --git a/edgegrid-signer-apache-http-client/pom.xml b/edgegrid-signer-apache-http-client/pom.xml index 4ddb186..d64ac15 100644 --- a/edgegrid-signer-apache-http-client/pom.xml +++ b/edgegrid-signer-apache-http-client/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.1-SNAPSHOT + 5.1.0-SNAPSHOT 4.0.0 diff --git a/edgegrid-signer-apache-http-client5/pom.xml b/edgegrid-signer-apache-http-client5/pom.xml index b2f00e8..58fa352 100644 --- a/edgegrid-signer-apache-http-client5/pom.xml +++ b/edgegrid-signer-apache-http-client5/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.1-SNAPSHOT + 5.1.0-SNAPSHOT 4.0.0 diff --git a/edgegrid-signer-async-http-client/pom.xml b/edgegrid-signer-async-http-client/pom.xml index 3c763d3..d7a439e 100644 --- a/edgegrid-signer-async-http-client/pom.xml +++ b/edgegrid-signer-async-http-client/pom.xml @@ -5,7 +5,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.1-SNAPSHOT + 5.1.0-SNAPSHOT 4.0.0 diff --git a/edgegrid-signer-core/pom.xml b/edgegrid-signer-core/pom.xml index 9d036e8..065b037 100644 --- a/edgegrid-signer-core/pom.xml +++ b/edgegrid-signer-core/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.1-SNAPSHOT + 5.1.0-SNAPSHOT edgegrid-signer-core diff --git a/edgegrid-signer-google-http-client/pom.xml b/edgegrid-signer-google-http-client/pom.xml index 5ce552e..3eb0a9e 100644 --- a/edgegrid-signer-google-http-client/pom.xml +++ b/edgegrid-signer-google-http-client/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.1-SNAPSHOT + 5.1.0-SNAPSHOT edgegrid-signer-google-http-client diff --git a/edgegrid-signer-rest-assured/pom.xml b/edgegrid-signer-rest-assured/pom.xml index 8c9daec..d99deae 100644 --- a/edgegrid-signer-rest-assured/pom.xml +++ b/edgegrid-signer-rest-assured/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.1-SNAPSHOT + 5.1.0-SNAPSHOT edgegrid-signer-rest-assured diff --git a/edgerc-reader/pom.xml b/edgerc-reader/pom.xml index 0407f9b..10330a3 100644 --- a/edgerc-reader/pom.xml +++ b/edgerc-reader/pom.xml @@ -5,7 +5,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.0.1-SNAPSHOT + 5.1.0-SNAPSHOT 4.0.0 diff --git a/pom.xml b/pom.xml index a270fa1..905f7c5 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.akamai.edgegrid edgegrid-signer-parent - 5.0.1-SNAPSHOT + 5.1.0-SNAPSHOT edgegrid-signer-apache-http-client From dd45fb0b22667f56a8f49593aabd7063584cbceb Mon Sep 17 00:00:00 2001 From: Michal Wojcik Date: Tue, 5 Sep 2023 13:08:54 +0200 Subject: [PATCH 7/8] DXE-2981 Release AkamaiOpen Edgegrid Java 5.1.0-rc.1 --- edgegrid-signer-apache-http-client/pom.xml | 2 +- edgegrid-signer-apache-http-client5/pom.xml | 2 +- edgegrid-signer-async-http-client/pom.xml | 2 +- edgegrid-signer-core/pom.xml | 2 +- edgegrid-signer-google-http-client/pom.xml | 2 +- edgegrid-signer-rest-assured/pom.xml | 2 +- edgerc-reader/pom.xml | 2 +- pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/edgegrid-signer-apache-http-client/pom.xml b/edgegrid-signer-apache-http-client/pom.xml index d64ac15..6b19fd8 100644 --- a/edgegrid-signer-apache-http-client/pom.xml +++ b/edgegrid-signer-apache-http-client/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-SNAPSHOT + 5.1.0-rc.1 4.0.0 diff --git a/edgegrid-signer-apache-http-client5/pom.xml b/edgegrid-signer-apache-http-client5/pom.xml index 58fa352..f7eb9c9 100644 --- a/edgegrid-signer-apache-http-client5/pom.xml +++ b/edgegrid-signer-apache-http-client5/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-SNAPSHOT + 5.1.0-rc.1 4.0.0 diff --git a/edgegrid-signer-async-http-client/pom.xml b/edgegrid-signer-async-http-client/pom.xml index d7a439e..8971101 100644 --- a/edgegrid-signer-async-http-client/pom.xml +++ b/edgegrid-signer-async-http-client/pom.xml @@ -5,7 +5,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-SNAPSHOT + 5.1.0-rc.1 4.0.0 diff --git a/edgegrid-signer-core/pom.xml b/edgegrid-signer-core/pom.xml index 065b037..72c7e3d 100644 --- a/edgegrid-signer-core/pom.xml +++ b/edgegrid-signer-core/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-SNAPSHOT + 5.1.0-rc.1 edgegrid-signer-core diff --git a/edgegrid-signer-google-http-client/pom.xml b/edgegrid-signer-google-http-client/pom.xml index 3eb0a9e..dd3908c 100644 --- a/edgegrid-signer-google-http-client/pom.xml +++ b/edgegrid-signer-google-http-client/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-SNAPSHOT + 5.1.0-rc.1 edgegrid-signer-google-http-client diff --git a/edgegrid-signer-rest-assured/pom.xml b/edgegrid-signer-rest-assured/pom.xml index d99deae..3233c85 100644 --- a/edgegrid-signer-rest-assured/pom.xml +++ b/edgegrid-signer-rest-assured/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-SNAPSHOT + 5.1.0-rc.1 edgegrid-signer-rest-assured diff --git a/edgerc-reader/pom.xml b/edgerc-reader/pom.xml index 10330a3..5f5f297 100644 --- a/edgerc-reader/pom.xml +++ b/edgerc-reader/pom.xml @@ -5,7 +5,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-SNAPSHOT + 5.1.0-rc.1 4.0.0 diff --git a/pom.xml b/pom.xml index 905f7c5..5299bbf 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.akamai.edgegrid edgegrid-signer-parent - 5.1.0-SNAPSHOT + 5.1.0-rc.1 edgegrid-signer-apache-http-client From 6e0c4516e20541fbd101d1f2472ddd1d27cf71d1 Mon Sep 17 00:00:00 2001 From: Michal Wojcik Date: Tue, 5 Sep 2023 15:58:41 +0200 Subject: [PATCH 8/8] DXE-2981 Release AkamaiOpen Edgegrid Java 5.1.0 --- edgegrid-signer-apache-http-client/pom.xml | 2 +- edgegrid-signer-apache-http-client5/pom.xml | 2 +- edgegrid-signer-async-http-client/pom.xml | 2 +- edgegrid-signer-core/pom.xml | 2 +- edgegrid-signer-google-http-client/pom.xml | 2 +- edgegrid-signer-rest-assured/pom.xml | 2 +- edgerc-reader/pom.xml | 2 +- pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/edgegrid-signer-apache-http-client/pom.xml b/edgegrid-signer-apache-http-client/pom.xml index 6b19fd8..5ce142c 100644 --- a/edgegrid-signer-apache-http-client/pom.xml +++ b/edgegrid-signer-apache-http-client/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-rc.1 + 5.1.0 4.0.0 diff --git a/edgegrid-signer-apache-http-client5/pom.xml b/edgegrid-signer-apache-http-client5/pom.xml index f7eb9c9..c13f25c 100644 --- a/edgegrid-signer-apache-http-client5/pom.xml +++ b/edgegrid-signer-apache-http-client5/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-rc.1 + 5.1.0 4.0.0 diff --git a/edgegrid-signer-async-http-client/pom.xml b/edgegrid-signer-async-http-client/pom.xml index 8971101..2b13431 100644 --- a/edgegrid-signer-async-http-client/pom.xml +++ b/edgegrid-signer-async-http-client/pom.xml @@ -5,7 +5,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-rc.1 + 5.1.0 4.0.0 diff --git a/edgegrid-signer-core/pom.xml b/edgegrid-signer-core/pom.xml index 72c7e3d..6cedf0f 100644 --- a/edgegrid-signer-core/pom.xml +++ b/edgegrid-signer-core/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-rc.1 + 5.1.0 edgegrid-signer-core diff --git a/edgegrid-signer-google-http-client/pom.xml b/edgegrid-signer-google-http-client/pom.xml index dd3908c..24a6455 100644 --- a/edgegrid-signer-google-http-client/pom.xml +++ b/edgegrid-signer-google-http-client/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-rc.1 + 5.1.0 edgegrid-signer-google-http-client diff --git a/edgegrid-signer-rest-assured/pom.xml b/edgegrid-signer-rest-assured/pom.xml index 3233c85..506a592 100644 --- a/edgegrid-signer-rest-assured/pom.xml +++ b/edgegrid-signer-rest-assured/pom.xml @@ -6,7 +6,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-rc.1 + 5.1.0 edgegrid-signer-rest-assured diff --git a/edgerc-reader/pom.xml b/edgerc-reader/pom.xml index 5f5f297..b92fdf6 100644 --- a/edgerc-reader/pom.xml +++ b/edgerc-reader/pom.xml @@ -5,7 +5,7 @@ edgegrid-signer-parent com.akamai.edgegrid - 5.1.0-rc.1 + 5.1.0 4.0.0 diff --git a/pom.xml b/pom.xml index 5299bbf..611687a 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.akamai.edgegrid edgegrid-signer-parent - 5.1.0-rc.1 + 5.1.0 edgegrid-signer-apache-http-client