diff --git a/CHANGELOG.md b/CHANGELOG.md
index 48cd080..8e41e91 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,17 @@
# Change log
+## 5.1.0 (September 5, 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/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-client/pom.xml b/edgegrid-signer-apache-http-client/pom.xml
index 8a8d3f7..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.0.0
+ 5.1.0
4.0.0
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/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..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.0.0
+ 5.1.0
4.0.0
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 2724125..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
@@ -1,34 +1,51 @@
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 {
+/**
+ * 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) {
- 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);
}
}
+
+
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.
diff --git a/edgegrid-signer-async-http-client/pom.xml b/edgegrid-signer-async-http-client/pom.xml
index da54074..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.0.0
+ 5.1.0
4.0.0
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/pom.xml b/edgegrid-signer-core/pom.xml
index 8196d73..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.0.0
+ 5.1.0
edgegrid-signer-core
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 b915906..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.0.0
+ 5.1.0
edgegrid-signer-google-http-client
@@ -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/pom.xml b/edgegrid-signer-rest-assured/pom.xml
index 4d6e2a6..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.0.0
+ 5.1.0
edgegrid-signer-rest-assured
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/edgerc-reader/pom.xml b/edgerc-reader/pom.xml
index 584ad0b..b92fdf6 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.1.0
4.0.0
diff --git a/pom.xml b/pom.xml
index 8066aca..611687a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.akamai.edgegrid
edgegrid-signer-parent
- 5.0.0
+ 5.1.0
edgegrid-signer-apache-http-client
@@ -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