-
Notifications
You must be signed in to change notification settings - Fork 61
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
New options for encoding Go strings to and from CBOR byte strings #465
New options for encoding Go strings to and from CBOR byte strings #465
Conversation
9edd914
to
5af0d26
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great! 👍 Thanks for adding this useful feature and also for optimizing byte string decoding while at it!
I left some minor suggestions about naming conventions used by existing options, etc.
encode.go
Outdated
// StringType specifies which CBOR string major type to use when encoding Go strings. | ||
StringType StringType |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// StringType specifies which CBOR string major type to use when encoding Go strings. | |
StringType StringType | |
// String specifies which CBOR type to use when encoding Go strings. | |
// - CBOR text string (major type 3) is default | |
// - CBOR byte string (major type 2) | |
String StringMode |
The StringType encode option supports use cases that must not produce invalid CBOR (even if well-formed) and must be able to encode Go strings that do not contain valid UTF-8 sequences, without the overhead of sanitizing all input Go values. The default value of the option is TextStringType and encodes Go strings to CBOR major type 3, which is identical to the preexisting behavior. Signed-off-by: Ben Luddy <[email protected]>
Signed-off-by: Ben Luddy <[email protected]>
The unchanged default behavior is to produce an UnmarshalTypeError when decoding a CBOR byte string into a Go string. Signed-off-by: Ben Luddy <[email protected]>
5af0d26
to
ae20110
Compare
Thanks @fxamacker, I've implemented all of your suggestions. Please take another look! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 👍 Thanks again for this PR!
Description
PR Was Proposed and Welcomed in Currently Open Issue
Checklist (for code PR only, ignore for docs PR)
Last line of each commit message should be in this format:
Signed-off-by: Firstname Lastname [email protected]
(see next section).
Certify the Developer's Certificate of Origin 1.1
the Developer Certificate of Origin 1.1.