-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace String/byte[] with (N)IO streams #838
Commits on Sep 18, 2023
-
Created new Writer/Reader concepts with backing implementations and tests, and deprecated the respective Serializer/Deserializer concepts. Each Serializer/Deserializer implementation now subclasses/extends their respective parent Writer/Reader implementation out of convenience. Serializer/Deserializer are not (currently) subinterfaces of Writer/Reader to avoid forcing new implementation requirements on existing implementations.
Configuration menu - View commit details
-
Copy full SHA for dc13b04 - Browse repository at this point
Copy the full SHA dc13b04View commit details -
Configuration menu - View commit details
-
Copy full SHA for cda9a13 - Browse repository at this point
Copy the full SHA cda9a13View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3654934 - Browse repository at this point
Copy the full SHA 3654934View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5432dcd - Browse repository at this point
Copy the full SHA 5432dcdView commit details
Commits on Sep 19, 2023
-
- Changed TokenizedJwt and TokenizedJwe interfaces and implementation…
…s to return CharSequences instead of Strings to avoid creating new Strings on the heap - Changed internal Base64 implementation to work with a CharSequence instead of a raw char[] to reduce need to create new arrays on the heap - Changed Base64Decoder generics signature from Decoder<String,byte[]> to Decoder<CharSequence,byte[]> - Decoders.BASE64 and Decoders.BASE64URL now reflect Decoder<CharSequence,byte[]> - Changed Strings#utf8 implementation to accept a CharSequence instead of a String - Added new Strings#wrap to wrap a CharSequence into a CharBuffer if necessary - Replaced not-yet-released JwtBuilder#serializer method with JwtBuilder#jsonWriter - Replaced not-yet-released JwtParserBuilder#deserializer method with JwtParserBuilder#jsonReader - Moved JwtDeserializer from io.jsonwebtoken.impl to io.jsonwebtoken.impl.io package, and updated its implementation to work with the new io.jsonwebtoken.io.Writer concept - Updated GsonSerializer, GsonDeserializer, JacksonSerializer, JacksonDeserializer, and OrgJsonSerializer and OrgJsonDeserializer implementations to use JDK 7+ 'try with resources' try block instead of try/finally
Configuration menu - View commit details
-
Copy full SHA for 1bc91d7 - Browse repository at this point
Copy the full SHA 1bc91d7View commit details
Commits on Sep 20, 2023
-
Configuration menu - View commit details
-
Copy full SHA for edb397c - Browse repository at this point
Copy the full SHA edb397cView commit details -
- Renamed JwtDeserializer to JsonObjectDeserializer that defaults to …
…throwing MalformedJwtException. Added two subclasses, JwkDeserializer and JwkSetDeserializer that throws JWK and JWK Set-specific exceptions. - Changed ParserBuilder#deserializer method name to ParserBuilder#jsonReader
Configuration menu - View commit details
-
Copy full SHA for e45c27f - Browse repository at this point
Copy the full SHA e45c27fView commit details -
- Removed all usages of Serializer#serialize and Deserializer#deseria…
…lize except for deprecated implementations. All other usages now use Writer/Reader concepts - Added Jwks#json and Jwks#UNSAFE_JSON for assistance in serializing JWKs to JSON (test cases, README examples, etc)
Configuration menu - View commit details
-
Copy full SHA for 475c6ff - Browse repository at this point
Copy the full SHA 475c6ffView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8cc2940 - Browse repository at this point
Copy the full SHA 8cc2940View commit details -
Configuration menu - View commit details
-
Copy full SHA for 86364bd - Browse repository at this point
Copy the full SHA 86364bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8cf53fc - Browse repository at this point
Copy the full SHA 8cf53fcView commit details
Commits on Sep 22, 2023
-
- Ensured Encoder and CompressionAlgorithm supported streams instead …
…of just byte arrays - Copied over necessary (Apache-licensed) code from Apache commons-codec to obtain Base64OutputStream and Base64InputStream capability for efficient encoding during compact JWT creation. Hopefully this is temporary and we can strip out most if not all of this and modify our existing Base64.java class for simpler support since we have many less use cases than what commons-codec supports.
Configuration menu - View commit details
-
Copy full SHA for 41bac49 - Browse repository at this point
Copy the full SHA 41bac49View commit details -
Configuration menu - View commit details
-
Copy full SHA for 40dfebf - Browse repository at this point
Copy the full SHA 40dfebfView commit details -
- Converted all DigestAlgorithms to utilize an InputStream for data i…
…nstead of byte[]
Configuration menu - View commit details
-
Copy full SHA for b17bfb9 - Browse repository at this point
Copy the full SHA b17bfb9View commit details
Commits on Sep 23, 2023
-
- Added JwtBuilder InputStream payload support: added JwtBuilder#cont…
…ent(InputStream), JwtBuilder#content(InputStream, String contentType), JwtBuilder#content(String, String contentType) - Added CountingInputStream as a way to check and assert that b64/unencoded payload InputStreams cannot be empty. - 100% code coverage checkpoint
Configuration menu - View commit details
-
Copy full SHA for 0a44dc4 - Browse repository at this point
Copy the full SHA 0a44dc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4408369 - Browse repository at this point
Copy the full SHA 4408369View commit details
Commits on Sep 24, 2023
-
- 100% coverage checkpoint. However:
- New JwtParser parseContentJws(String,InputStream) methods still need JavaDoc. - Still need to make AeadAlgorithm InputStream-based
Configuration menu - View commit details
-
Copy full SHA for c151046 - Browse repository at this point
Copy the full SHA c151046View commit details -
- 100% coverage checkpoint, with:
- New JwtParser parseContentJws(String,InputStream) methods are JavaDoc'd - Decompression is streaming when payload is consumable Note: Still need to make AeadAlgorithm InputStream-based
Configuration menu - View commit details
-
Copy full SHA for 6b9db7d - Browse repository at this point
Copy the full SHA 6b9db7dView commit details
Commits on Sep 25, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 14e78f5 - Browse repository at this point
Copy the full SHA 14e78f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for c9e61b4 - Browse repository at this point
Copy the full SHA c9e61b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for eaa897d - Browse repository at this point
Copy the full SHA eaa897dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 81e2df1 - Browse repository at this point
Copy the full SHA 81e2df1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 49cf31b - Browse repository at this point
Copy the full SHA 49cf31bView commit details
Commits on Sep 26, 2023
-
- Renamed Encoder/Decoder and CompressionAlgorithm 'wrap' methods to …
…encode/decode/compress/decompress for better readability and to make clearer the intent of the method. Also to avoid name/text/search collisions with 'wrap' references.
Configuration menu - View commit details
-
Copy full SHA for 90b37e2 - Browse repository at this point
Copy the full SHA 90b37e2View commit details -
- Was able to move the commons-codec-related code to the impl module …
…(ideally didn't want to expose this implementation detail to the API).
Configuration menu - View commit details
-
Copy full SHA for 595bb69 - Browse repository at this point
Copy the full SHA 595bb69View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9f19f0e - Browse repository at this point
Copy the full SHA 9f19f0eView commit details -
Removed recently added Reader/Writer concepts for just overloaded met…
…hods in existing Serializer/Deserializer interfaces. This results in less change and is probably more intuitive for existing library users.
Configuration menu - View commit details
-
Copy full SHA for 7fb7b79 - Browse repository at this point
Copy the full SHA 7fb7b79View commit details -
Renamed new JwtBuilder#encoder and JwtParserBuilder#decoder methods t…
…o JwtBuilder#b64Url and JwtParserBuilder#b64Url for shorter method chains
Configuration menu - View commit details
-
Copy full SHA for a49e64e - Browse repository at this point
Copy the full SHA a49e64eView commit details
Commits on Sep 27, 2023
-
Configuration menu - View commit details
-
Copy full SHA for f0f8078 - Browse repository at this point
Copy the full SHA f0f8078View commit details -
Configuration menu - View commit details
-
Copy full SHA for 096613f - Browse repository at this point
Copy the full SHA 096613fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 19dfcd3 - Browse repository at this point
Copy the full SHA 19dfcd3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 523d37b - Browse repository at this point
Copy the full SHA 523d37bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 54ed38a - Browse repository at this point
Copy the full SHA 54ed38aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 48f2b31 - Browse repository at this point
Copy the full SHA 48f2b31View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ecca31 - Browse repository at this point
Copy the full SHA 1ecca31View commit details -
Configuration menu - View commit details
-
Copy full SHA for fae29c7 - Browse repository at this point
Copy the full SHA fae29c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for b2a3fec - Browse repository at this point
Copy the full SHA b2a3fecView commit details -
AeadAlgorithm streams checkpoint 3: AAD is now an InputStream
remaining: change AeadAlgorithm#encrypt to receive AeadResult as a 2nd argument (like HttpServlet API)
Configuration menu - View commit details
-
Copy full SHA for dad664a - Browse repository at this point
Copy the full SHA dad664aView commit details -
- Changed AeadAlgorithm#encrypt to receive AeadResult as a 2nd argument
- Changed AeadAlgorithm#decrypt to receive an OutputStream as a 2nd argument
Configuration menu - View commit details
-
Copy full SHA for f732971 - Browse repository at this point
Copy the full SHA f732971View commit details -
- Renamed InitializationVectorSupplier to IvSupplier (was verbose, an…
…d it's not commonly referenced in the API, so the extra verbosity isn't needed)
Configuration menu - View commit details
-
Copy full SHA for 826aa54 - Browse repository at this point
Copy the full SHA 826aa54View commit details