Java implementation of Akamai {OPEN} EdgeGrid signing.
This library implements Akamai {OPEN} EdgeGrid Authentication for Java. It is presented as a core module which can be used independently of any particular HTTP client library and three implementations for specific HTTP client libraries.
This project contains a core implementation module and five bindings to specific HTTP client libraries.
- edgegrid-signer-core is the core signing implementation and base classes used by the individual library implementations.
- edgerc-reader is a configuration file reader that supports edgerc files. These files are basically INI files with certain sections and properties.
- edgegrid-signer-apache-http-client is a binding for Apache HTTP Client.
- edgegrid-signer-google-http-client is a binding for Google HTTP Client Library for Java.
- edgegrid-signer-rest-assured is a binding for REST-assured.
- edgegrid-signer-async-http-client is a binding for Async HTTP Client.
- edgegrid-signer-gatling is a binding for Gatling.
4.0.1:
- Fix Issue #35, a broken unit test.
- Use URI#getRawPath() when constructing a signature.
4.0:
- BREAKING CHANGE: Split the edgerc file reader into new module edgerc-reader.
- Drop dependency on commons-configuration2 from edgegrid-signer-core.
- Drop dependency on commons-lang3.
- Drop dependency on commons-codec (use Base64 methods from JDK instead).
- Use maven-bundle-plugin to add OSGi headers to MANIFEST.MF.
3.0:
- Minimum Java version is now 8.
- Adding binding for Async HTTP Client.
- Adding binding for Gatling.
2.1:
- Adding binding for Apache HTTP Client.
- Splitting README.md between relevant modules.
2.0:
- Signing algorithm tweaks
- Separating binding for Google HTTP Client Library for Java from core
- Adding binding for REST-assured
- Unit tests with TestNG
- Publishing to Maven Central!
A number of similar libraries for signing requests exist for popular programming languages:
- There are two Python bindings: a command line tool similar to curl and a Python library.
- Ruby binding
- Perl binding
- Powershell binding
- NodeJS binding
- C# binding
- Go binding
Martin Meyer mmeyer@akamai.com
Maciej Gawinecki mgawinec@akamai.com
This is an open-source library, and contributions are welcome. You're welcome to fork this project and send us a pull request.
For more information about OPEN API visit the Akamai {OPEN} Developer Community.