Breaking: Completely rewrite URL APIs to clarify content encoding, when data is in which state, and to reduce the number of times data is encoded/decoded.
Remove several now-unused functions and classes mainly relating to URL encoding/decoding
Breaking: Move several classes out of aws.smithy.kotlin.runtime.util into better packages like text and collections
Add new MultiMap/MutableMultiMap collection types for supporting URL query parameters
Add new collection views for providing live mapping of underlying collections. These facilitate providing, for example, a view of data in both encoded and decoded forms while still having a single source of truth.
⚠️ Callouts
Tests are in a bit of a bad state right now. I ripped out a bunch of tests against the old APIs but don't yet have the same level of coverage for the new ones...at least at the unit test level. I'll add more but feel free to highlight particular areas you feel could use better support.
Still looking for feedback on the ergonomics and usability of the new APIs. The updated tests/codegen should provide some examples.
Issue \
Addresses #659
Description of changes
aws.smithy.kotlin.runtime.util
into better packages liketext
andcollections
MultiMap
/MutableMultiMap
collection types for supporting URL query parameters⚠️ Callouts
Companion PR: https://github.com/awslabs/aws-sdk-kotlin/pull/1119
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.