-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
ASF: implement CBOR parser and serializer #13103
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
base: main
Are you sure you want to change the base?
Conversation
S3 Image Test Results (AMD64 / ARM64) 2 files 2 suites 8m 24s ⏱️ Results for commit a2853d1. ♻️ This comment has been updated with latest results. |
Test Results - Preflight, Unit22 149 tests 20 411 ✅ 6m 32s ⏱️ Results for commit a2853d1. ♻️ This comment has been updated with latest results. |
Test Results (amd64) - Acceptance7 tests 5 ✅ 3m 8s ⏱️ Results for commit a2853d1. ♻️ This comment has been updated with latest results. |
Test Results (amd64) - Integration, Bootstrap 5 files 5 suites 2h 35m 36s ⏱️ Results for commit a2853d1. ♻️ This comment has been updated with latest results. |
LocalStack Community integration with Pro 2 files 2 suites 1h 55m 48s ⏱️ Results for commit a2853d1. ♻️ This comment has been updated with latest results. |
81df418
to
530069d
Compare
Currently, only patch changes are allowed on main. Your PR labels (area: asf, semver: minor, skip-docs) indicate that it cannot be merged into the main at this time. |
9809182
to
a2853d1
Compare
Motivation
This PR is part of a bigger initiative to implement support for the new Smithy Protocol
smithy-rpc-v2-cbor
, as well as the new Botocore multi-protocol support for single services (before, a service could only define one protocol).This PR is the first step in adding support for the
smithy-rpc-v2-cbor
protocol via our parsers and serializers.By adding support for this new protocol, Botocore also implemented CBOR serialization and parsing. We can rely on that to implement our own custom body parsing/serializing in the CBOR format.
Currently in Botocore, only the services using the
smithy-rpc-v2-cbor
protocol uses this implementation (likearc-region-switch
, and sooncloudwatch
).Internally, we know that the Kinesis service can respond using CBOR, but with a
json
-protocol based type of response. This PR implements and internalize the CBOR body parsing and serializing, and try to use this protocol to parser/serialize Kinesis requests & responses. In some follow-up to this initiative, we could also implement better handling of CBOR for Kinesis.This PR is better reviewed by looking at its direct follow-up, #13125. It builds on this to properly implement the
smithy-rpc-v2-cbor
protocol entirely.Changes
BaseCBORRequestParser
andBaseCBORResponseSerializer
BaseCBORRequestParser
and theJSONResponseSerializer
to try out against Kinesis