diff options
author | Jon Skeet <skeet@pobox.com> | 2016-05-06 06:29:03 +0100 |
---|---|---|
committer | Jon Skeet <skeet@pobox.com> | 2016-05-06 06:29:03 +0100 |
commit | 5b5e369b185325c49ee450965ceceb6ac5586b16 (patch) | |
tree | 5dac86476f4d2cafa84333d3c1114a9632c71395 /csharp/src/Google.Protobuf/JsonFormatter.cs | |
parent | 17b6fc31eb8a9b65501cd7c53235a88efdc94394 (diff) | |
parent | 61307b86f561721ac47ecd74d9fd1dffa0acad53 (diff) | |
download | protobuf-5b5e369b185325c49ee450965ceceb6ac5586b16.tar.gz protobuf-5b5e369b185325c49ee450965ceceb6ac5586b16.tar.bz2 protobuf-5b5e369b185325c49ee450965ceceb6ac5586b16.zip |
Merge pull request #1471 from jskeet/any-host
Allow custom type URL prefixes in Any.Pack
Diffstat (limited to 'csharp/src/Google.Protobuf/JsonFormatter.cs')
-rw-r--r-- | csharp/src/Google.Protobuf/JsonFormatter.cs | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/csharp/src/Google.Protobuf/JsonFormatter.cs b/csharp/src/Google.Protobuf/JsonFormatter.cs index 73a4f64b..83772473 100644 --- a/csharp/src/Google.Protobuf/JsonFormatter.cs +++ b/csharp/src/Google.Protobuf/JsonFormatter.cs @@ -567,7 +567,7 @@ namespace Google.Protobuf string typeUrl = (string) value.Descriptor.Fields[Any.TypeUrlFieldNumber].Accessor.GetValue(value); ByteString data = (ByteString) value.Descriptor.Fields[Any.ValueFieldNumber].Accessor.GetValue(value); - string typeName = GetTypeName(typeUrl); + string typeName = Any.GetTypeName(typeUrl); MessageDescriptor descriptor = settings.TypeRegistry.Find(typeName); if (descriptor == null) { @@ -608,17 +608,7 @@ namespace Google.Protobuf writer.Write(data.ToBase64()); writer.Write('"'); writer.Write(" }"); - } - - internal static string GetTypeName(String typeUrl) - { - string[] parts = typeUrl.Split('/'); - if (parts.Length != 2 || parts[0] != TypeUrlPrefix) - { - throw new InvalidProtocolBufferException($"Invalid type url: {typeUrl}"); - } - return parts[1]; - } + } private void WriteStruct(TextWriter writer, IMessage message) { |