Skip to content
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

json.unmarshalScalar: Support both bool and *bool #320

Merged
merged 4 commits into from
Jun 11, 2019

Conversation

nlowe
Copy link
Contributor

@nlowe nlowe commented Jun 7, 2019

When decoding responses from the AWS API, struct fields of type bool are always set to the default value of false. For some instances, the error returned by jsonutil.unmarshalScalar are not checked (when populating map values for example).

This adds support for decoding bool values. There are no existing tests for this file, I can write some if you would like.

Fixes #319

Copy link
Contributor

@jasdel jasdel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking the time to create this PR @nlowe. The bugfix looks good.

Would you mind copying the private/protocol/json/jsonutil/unmarshal_test.go file from PR #321

In addition, I'd prefer not to include the .idea/ in the SDK's .gitignore since this is not really a part of the SDK it self. With that said you can update your global git config to ignore the .idea folder for all your projects via a global git ignore file.

git config --global core.excludesfile ~/.gitignore_global

Within your .gitignore_global you can specify any IDE or platform specific metadata files that should be ignored.

@jasdel jasdel added the pr/needs-review This PR needs a review from a Member. label Jun 11, 2019
@jasdel jasdel merged commit db223f6 into aws:master Jun 11, 2019
jasdel added a commit to jasdel/aws-sdk-go-v2 that referenced this pull request Jul 24, 2019
Services
===
* Synced the V2 SDK with latest AWS service API definitions.
* Fixes [aws#341](aws#341)
* Fixes [aws#342](aws#342)

SDK Breaking Changes
===
* `aws`: Add default HTTP client instead of http.DefaultClient/Transport ([aws#315](aws#315))
  * Adds a new BuildableHTTPClient type to the SDK's aws package. The type uses the builder pattern with immutable changes. Modifications to the buildable client create copies of the client.  Adds a HTTPClient interface to the aws package that the SDK will use as an abstraction over the specific HTTP client implementation. The SDK will default to the BuildableHTTPClient, but a *http.Client can be also provided for custom configuration.  When the SDK's aws.Config.HTTPClient value is a BuildableHTTPClient the SDK will be able to use API client specific request timeout options.
  * Fixes [aws#279](aws#279)
  * Fixes [aws#269](aws#269)

SDK Enhancements
===
* `service/s3/s3manager`: Update S3 Upload Multipart location ([aws#324](aws#324))
  * Updates the Location returned value of S3 Upload's Multipart UploadOutput type to be consistent with single part upload URL. This update also brings the multipart upload Location inline with the S3 object URLs created by the SDK.
  * Fixes [aws#323](aws#323)
  * V2 Port [aws/aws-sdk-go#2453](aws/aws-sdk-go#2453)

SDK Bugs
===
* `private/model`: Handles empty map vs unset map behavior in send request ([aws#337](aws#337))
  * Updated shape marshal model to handle the empty map vs nil map behavior. Adding a test case to assert behavior when a user sends an empty map vs nil map.
  * Fix [aws#332](aws#332)
* `service/rds`: Fix presign URL for same region ([aws#331](aws#331))
  * Fixes RDS no-autopresign URL for same region issue for aws-sdk-go-v2. Solves the issue by making sure that the presigned URLs are not created, when the source and destination regions are the same. Added and updated the tests accordingly.
  * Fix [aws#271](aws#271)
* `private/protocola/json/jsonutil`: Fix Unmarshal map[string]bool ([aws#320](aws#320))
  * Fixes the JSON unmarshaling of maps of bools. The unmarshal case was missing the condition for bool value, in addition the bool pointer.
  * Fix [aws#319](aws#319)
jasdel added a commit that referenced this pull request Jul 25, 2019
Services
===
* Synced the V2 SDK with latest AWS service API definitions.
* Fixes [#341](#341)
* Fixes [#342](#342)

SDK Breaking Changes
===
* `aws`: Add default HTTP client instead of http.DefaultClient/Transport ([#315](#315))
  * Adds a new BuildableHTTPClient type to the SDK's aws package. The type uses the builder pattern with immutable changes. Modifications to the buildable client create copies of the client.  Adds a HTTPClient interface to the aws package that the SDK will use as an abstraction over the specific HTTP client implementation. The SDK will default to the BuildableHTTPClient, but a *http.Client can be also provided for custom configuration.  When the SDK's aws.Config.HTTPClient value is a BuildableHTTPClient the SDK will be able to use API client specific request timeout options.
  * Fixes [#279](#279)
  * Fixes [#269](#269)

SDK Enhancements
===
* `service/s3/s3manager`: Update S3 Upload Multipart location ([#324](#324))
  * Updates the Location returned value of S3 Upload's Multipart UploadOutput type to be consistent with single part upload URL. This update also brings the multipart upload Location inline with the S3 object URLs created by the SDK.
  * Fixes [#323](#323)
  * V2 Port [aws/aws-sdk-go#2453](aws/aws-sdk-go#2453)

SDK Bugs
===
* `private/model`: Handles empty map vs unset map behavior in send request ([#337](#337))
  * Updated shape marshal model to handle the empty map vs nil map behavior. Adding a test case to assert behavior when a user sends an empty map vs nil map.
  * Fix [#332](#332)
* `service/rds`: Fix presign URL for same region ([#331](#331))
  * Fixes RDS no-autopresign URL for same region issue for aws-sdk-go-v2. Solves the issue by making sure that the presigned URLs are not created, when the source and destination regions are the same. Added and updated the tests accordingly.
  * Fix [#271](#271)
* `private/protocola/json/jsonutil`: Fix Unmarshal map[string]bool ([#320](#320))
  * Fixes the JSON unmarshaling of maps of bools. The unmarshal case was missing the condition for bool value, in addition the bool pointer.
  * Fix [#319](#319)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr/needs-review This PR needs a review from a Member.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Bool parameters in json responses are not properly unmarshalled
2 participants