fix: google.protobuf.Any type_url fixes#1068
Merged
alexander-fenster merged 4 commits intoprotobufjs:masterfrom May 29, 2020
Merged
fix: google.protobuf.Any type_url fixes#1068alexander-fenster merged 4 commits intoprotobufjs:masterfrom
alexander-fenster merged 4 commits intoprotobufjs:masterfrom
Conversation
In `fromObject`, only use type name after the last '/' when doing a lookup and make sure the `type_url` prefix is preserved. In `toObject`, use `type.googleapis.com` default prefix if no `type_url` prefix is used.
|
I would love to have this reviewed and merged. I'm currently dealing with the same issue. Thanks for the PR. |
rclark
added a commit
to rclark/protobuf.js
that referenced
this pull request
Feb 3, 2019
This was referenced Sep 27, 2019
Contributor
|
@murgatroid99 I fixed linting problems, this PR is ready to be reviewed now. |
alexander-fenster
approved these changes
May 29, 2020
murgatroid99
approved these changes
May 29, 2020
taylorcode
pushed a commit
to taylorcode/protobuf.js
that referenced
this pull request
Oct 16, 2020
* google.protobuf.Any fixes In `fromObject`, only use type name after the last '/' when doing a lookup and make sure the `type_url` prefix is preserved. In `toObject`, use `type.googleapis.com` default prefix if no `type_url` prefix is used. * fix: lint * fix: more lint Co-authored-by: Michael Lumish <mlumish@google.com> Co-authored-by: Alexander Fenster <fenster@google.com>
This was referenced May 20, 2022
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Background
While using protobuf.js we've come across compatibility issues to do with
google.protobuf.Any. Namely, when dealing with Any types, according to Google's documentation (referenced below),types.googleapis.comshould be used as a default prefix within thetype_url. ThefromObjectfunction referenced below failed to lookup types that had a prefix in their@typewhen converting from JSON to protobuf.Addresses #850.
From Google's
google.protobuf.AnydocsAnd, regarding JSON
In this PR
fromObject, only use type name after the last '/' when doing a lookup and make sure thetype_urlprefix is preserved. Otherwise, lookups that includedtype_urlpath prefixes (such as the defaulttype.googleapis.comprefix) would fail.toObject, usetype.googleapis.comdefault prefix if notype_urlprefix is used.