diff --git a/Jaeger.sln b/Jaeger.sln
index 760eaef4e..afc775825 100644
--- a/Jaeger.sln
+++ b/Jaeger.sln
@@ -46,6 +46,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jaeger.Senders.Grpc.Tests",
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Communication", "Communication", "{30786A14-F882-410B-A74D-BF608B05340A}"
EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jaeger.Communication.Grpc", "src\Communication\Jaeger.Communication.Grpc\Jaeger.Communication.Grpc.csproj", "{F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}"
+EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Jaeger.Communication.Thrift", "src\Communication\Jaeger.Communication.Thrift\Jaeger.Communication.Thrift.csproj", "{4521D9CB-C7E6-4C38-AA34-035EC7DC41E0}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{22F94D42-FF84-4B15-8762-C95ACC8D1FE5}"
@@ -181,6 +183,18 @@ Global
{6943F8EA-233C-408D-8145-923D5CDF6852}.Release|x64.Build.0 = Release|Any CPU
{6943F8EA-233C-408D-8145-923D5CDF6852}.Release|x86.ActiveCfg = Release|Any CPU
{6943F8EA-233C-408D-8145-923D5CDF6852}.Release|x86.Build.0 = Release|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Debug|x64.Build.0 = Debug|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Debug|x86.Build.0 = Debug|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Release|x64.ActiveCfg = Release|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Release|x64.Build.0 = Release|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Release|x86.ActiveCfg = Release|Any CPU
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD}.Release|x86.Build.0 = Release|Any CPU
{4521D9CB-C7E6-4C38-AA34-035EC7DC41E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4521D9CB-C7E6-4C38-AA34-035EC7DC41E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4521D9CB-C7E6-4C38-AA34-035EC7DC41E0}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -211,6 +225,7 @@ Global
{FFB09FE3-BEDD-49F4-93D2-C38CC1357D09} = {A608712F-64B9-49AA-B688-81B7A49436B7}
{6943F8EA-233C-408D-8145-923D5CDF6852} = {B79DA458-94D5-4BF6-9934-27E0AC24F604}
{30786A14-F882-410B-A74D-BF608B05340A} = {4FB0DAC9-D8C6-4368-B48E-363FA85029A4}
+ {F3D39D28-6AAE-4FAA-9C80-A200CFFEA1BD} = {30786A14-F882-410B-A74D-BF608B05340A}
{4521D9CB-C7E6-4C38-AA34-035EC7DC41E0} = {30786A14-F882-410B-A74D-BF608B05340A}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
diff --git a/src/Communication/Jaeger.Communication.Grpc/CollectorGrpc.cs b/src/Communication/Jaeger.Communication.Grpc/CollectorGrpc.cs
new file mode 100644
index 000000000..685065976
--- /dev/null
+++ b/src/Communication/Jaeger.Communication.Grpc/CollectorGrpc.cs
@@ -0,0 +1,123 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: collector.proto
+//
+// Original file comments:
+// Copyright (c) 2019 The Jaeger Authors.
+// Copyright (c) 2018 Uber Technologies, Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+#pragma warning disable 0414, 1591
+#region Designer generated code
+
+using grpc = global::Grpc.Core;
+
+namespace Jaeger.ApiV2 {
+ public static partial class CollectorService
+ {
+ static readonly string __ServiceName = "jaeger.api_v2.CollectorService";
+
+ static readonly grpc::Marshaller __Marshaller_jaeger_api_v2_PostSpansRequest = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Jaeger.ApiV2.PostSpansRequest.Parser.ParseFrom);
+ static readonly grpc::Marshaller __Marshaller_jaeger_api_v2_PostSpansResponse = grpc::Marshallers.Create((arg) => global::Google.Protobuf.MessageExtensions.ToByteArray(arg), global::Jaeger.ApiV2.PostSpansResponse.Parser.ParseFrom);
+
+ static readonly grpc::Method __Method_PostSpans = new grpc::Method(
+ grpc::MethodType.Unary,
+ __ServiceName,
+ "PostSpans",
+ __Marshaller_jaeger_api_v2_PostSpansRequest,
+ __Marshaller_jaeger_api_v2_PostSpansResponse);
+
+ /// Service descriptor
+ public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
+ {
+ get { return global::Jaeger.ApiV2.CollectorReflection.Descriptor.Services[0]; }
+ }
+
+ /// Base class for server-side implementations of CollectorService
+ [grpc::BindServiceMethod(typeof(CollectorService), "BindService")]
+ public abstract partial class CollectorServiceBase
+ {
+ public virtual global::System.Threading.Tasks.Task PostSpans(global::Jaeger.ApiV2.PostSpansRequest request, grpc::ServerCallContext context)
+ {
+ throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
+ }
+
+ }
+
+ /// Client for CollectorService
+ public partial class CollectorServiceClient : grpc::ClientBase
+ {
+ /// Creates a new client for CollectorService
+ /// The channel to use to make remote calls.
+ public CollectorServiceClient(grpc::ChannelBase channel) : base(channel)
+ {
+ }
+ /// Creates a new client for CollectorService that uses a custom CallInvoker.
+ /// The callInvoker to use to make remote calls.
+ public CollectorServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker)
+ {
+ }
+ /// Protected parameterless constructor to allow creation of test doubles.
+ protected CollectorServiceClient() : base()
+ {
+ }
+ /// Protected constructor to allow creation of configured clients.
+ /// The client configuration.
+ protected CollectorServiceClient(ClientBaseConfiguration configuration) : base(configuration)
+ {
+ }
+
+ public virtual global::Jaeger.ApiV2.PostSpansResponse PostSpans(global::Jaeger.ApiV2.PostSpansRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ return PostSpans(request, new grpc::CallOptions(headers, deadline, cancellationToken));
+ }
+ public virtual global::Jaeger.ApiV2.PostSpansResponse PostSpans(global::Jaeger.ApiV2.PostSpansRequest request, grpc::CallOptions options)
+ {
+ return CallInvoker.BlockingUnaryCall(__Method_PostSpans, null, options, request);
+ }
+ public virtual grpc::AsyncUnaryCall PostSpansAsync(global::Jaeger.ApiV2.PostSpansRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
+ {
+ return PostSpansAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
+ }
+ public virtual grpc::AsyncUnaryCall PostSpansAsync(global::Jaeger.ApiV2.PostSpansRequest request, grpc::CallOptions options)
+ {
+ return CallInvoker.AsyncUnaryCall(__Method_PostSpans, null, options, request);
+ }
+ /// Creates a new instance of client from given ClientBaseConfiguration.
+ protected override CollectorServiceClient NewInstance(ClientBaseConfiguration configuration)
+ {
+ return new CollectorServiceClient(configuration);
+ }
+ }
+
+ /// Creates service definition that can be registered with a server
+ /// An object implementing the server-side handling logic.
+ public static grpc::ServerServiceDefinition BindService(CollectorServiceBase serviceImpl)
+ {
+ return grpc::ServerServiceDefinition.CreateBuilder()
+ .AddMethod(__Method_PostSpans, serviceImpl.PostSpans).Build();
+ }
+
+ /// Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
+ /// Note: this method is part of an experimental API that can change or be removed without any prior notice.
+ /// Service methods will be bound by calling AddMethod on this object.
+ /// An object implementing the server-side handling logic.
+ public static void BindService(grpc::ServiceBinderBase serviceBinder, CollectorServiceBase serviceImpl)
+ {
+ serviceBinder.AddMethod(__Method_PostSpans, serviceImpl == null ? null : new grpc::UnaryServerMethod(serviceImpl.PostSpans));
+ }
+
+ }
+}
+#endregion
diff --git a/src/Communication/Jaeger.Communication.Grpc/Gogoproto/Gogo.cs b/src/Communication/Jaeger.Communication.Grpc/Gogoproto/Gogo.cs
new file mode 100644
index 000000000..6c8b04b72
--- /dev/null
+++ b/src/Communication/Jaeger.Communication.Grpc/Gogoproto/Gogo.cs
@@ -0,0 +1,291 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: gogoproto/gogo.proto
+//
+#pragma warning disable 1591, 0612, 3021
+#region Designer generated code
+
+using pb = global::Google.Protobuf;
+using pbc = global::Google.Protobuf.Collections;
+using pbr = global::Google.Protobuf.Reflection;
+using scg = global::System.Collections.Generic;
+namespace Gogoproto {
+
+ /// Holder for reflection information generated from gogoproto/gogo.proto
+ internal static partial class GogoReflection {
+
+ #region Descriptor
+ /// File descriptor for gogoproto/gogo.proto
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static GogoReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "ChRnb2dvcHJvdG8vZ29nby5wcm90bxIJZ29nb3Byb3RvGiBnb29nbGUvcHJv",
+ "dG9idWYvZGVzY3JpcHRvci5wcm90bzo7ChNnb3Byb3RvX2VudW1fcHJlZml4",
+ "EhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zGLHkAyABKAg6PQoVZ29w",
+ "cm90b19lbnVtX3N0cmluZ2VyEhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRp",
+ "b25zGMXkAyABKAg6NQoNZW51bV9zdHJpbmdlchIcLmdvb2dsZS5wcm90b2J1",
+ "Zi5FbnVtT3B0aW9ucxjG5AMgASgIOjcKD2VudW1fY3VzdG9tbmFtZRIcLmdv",
+ "b2dsZS5wcm90b2J1Zi5FbnVtT3B0aW9ucxjH5AMgASgJOjAKCGVudW1kZWNs",
+ "EhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zGMjkAyABKAg6QQoUZW51",
+ "bXZhbHVlX2N1c3RvbW5hbWUSIS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVl",
+ "T3B0aW9ucxjRgwQgASgJOjsKE2dvcHJvdG9fZ2V0dGVyc19hbGwSHC5nb29n",
+ "bGUucHJvdG9idWYuRmlsZU9wdGlvbnMYmewDIAEoCDo/Chdnb3Byb3RvX2Vu",
+ "dW1fcHJlZml4X2FsbBIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxia",
+ "7AMgASgIOjwKFGdvcHJvdG9fc3RyaW5nZXJfYWxsEhwuZ29vZ2xlLnByb3Rv",
+ "YnVmLkZpbGVPcHRpb25zGJvsAyABKAg6OQoRdmVyYm9zZV9lcXVhbF9hbGwS",
+ "HC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYnOwDIAEoCDowCghmYWNl",
+ "X2FsbBIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxid7AMgASgIOjQK",
+ "DGdvc3RyaW5nX2FsbBIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxie",
+ "7AMgASgIOjQKDHBvcHVsYXRlX2FsbBIcLmdvb2dsZS5wcm90b2J1Zi5GaWxl",
+ "T3B0aW9ucxif7AMgASgIOjQKDHN0cmluZ2VyX2FsbBIcLmdvb2dsZS5wcm90",
+ "b2J1Zi5GaWxlT3B0aW9ucxig7AMgASgIOjMKC29ubHlvbmVfYWxsEhwuZ29v",
+ "Z2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGKHsAyABKAg6MQoJZXF1YWxfYWxs",
+ "EhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGKXsAyABKAg6NwoPZGVz",
+ "Y3JpcHRpb25fYWxsEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGKbs",
+ "AyABKAg6MwoLdGVzdGdlbl9hbGwSHC5nb29nbGUucHJvdG9idWYuRmlsZU9w",
+ "dGlvbnMYp+wDIAEoCDo0CgxiZW5jaGdlbl9hbGwSHC5nb29nbGUucHJvdG9i",
+ "dWYuRmlsZU9wdGlvbnMYqOwDIAEoCDo1Cg1tYXJzaGFsZXJfYWxsEhwuZ29v",
+ "Z2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGKnsAyABKAg6NwoPdW5tYXJzaGFs",
+ "ZXJfYWxsEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGKrsAyABKAg6",
+ "PAoUc3RhYmxlX21hcnNoYWxlcl9hbGwSHC5nb29nbGUucHJvdG9idWYuRmls",
+ "ZU9wdGlvbnMYq+wDIAEoCDoxCglzaXplcl9hbGwSHC5nb29nbGUucHJvdG9i",
+ "dWYuRmlsZU9wdGlvbnMYrOwDIAEoCDpBChlnb3Byb3RvX2VudW1fc3RyaW5n",
+ "ZXJfYWxsEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGK3sAyABKAg6",
+ "OQoRZW51bV9zdHJpbmdlcl9hbGwSHC5nb29nbGUucHJvdG9idWYuRmlsZU9w",
+ "dGlvbnMYruwDIAEoCDo8ChR1bnNhZmVfbWFyc2hhbGVyX2FsbBIcLmdvb2ds",
+ "ZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxiv7AMgASgIOj4KFnVuc2FmZV91bm1h",
+ "cnNoYWxlcl9hbGwSHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYsOwD",
+ "IAEoCDpCChpnb3Byb3RvX2V4dGVuc2lvbnNfbWFwX2FsbBIcLmdvb2dsZS5w",
+ "cm90b2J1Zi5GaWxlT3B0aW9ucxix7AMgASgIOkAKGGdvcHJvdG9fdW5yZWNv",
+ "Z25pemVkX2FsbBIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9ucxiy7AMg",
+ "ASgIOjgKEGdvZ29wcm90b19pbXBvcnQSHC5nb29nbGUucHJvdG9idWYuRmls",
+ "ZU9wdGlvbnMYs+wDIAEoCDo2Cg5wcm90b3NpemVyX2FsbBIcLmdvb2dsZS5w",
+ "cm90b2J1Zi5GaWxlT3B0aW9ucxi07AMgASgIOjMKC2NvbXBhcmVfYWxsEhwu",
+ "Z29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGLXsAyABKAg6NAoMdHlwZWRl",
+ "Y2xfYWxsEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGLbsAyABKAg6",
+ "NAoMZW51bWRlY2xfYWxsEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25z",
+ "GLfsAyABKAg6PAoUZ29wcm90b19yZWdpc3RyYXRpb24SHC5nb29nbGUucHJv",
+ "dG9idWYuRmlsZU9wdGlvbnMYuOwDIAEoCDo3Cg9tZXNzYWdlbmFtZV9hbGwS",
+ "HC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMYuewDIAEoCDo9ChVnb3By",
+ "b3RvX3NpemVjYWNoZV9hbGwSHC5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlv",
+ "bnMYuuwDIAEoCDo7ChNnb3Byb3RvX3Vua2V5ZWRfYWxsEhwuZ29vZ2xlLnBy",
+ "b3RvYnVmLkZpbGVPcHRpb25zGLvsAyABKAg6OgoPZ29wcm90b19nZXR0ZXJz",
+ "Eh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGIH0AyABKAg6OwoQ",
+ "Z29wcm90b19zdHJpbmdlchIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0",
+ "aW9ucxiD9AMgASgIOjgKDXZlcmJvc2VfZXF1YWwSHy5nb29nbGUucHJvdG9i",
+ "dWYuTWVzc2FnZU9wdGlvbnMYhPQDIAEoCDovCgRmYWNlEh8uZ29vZ2xlLnBy",
+ "b3RvYnVmLk1lc3NhZ2VPcHRpb25zGIX0AyABKAg6MwoIZ29zdHJpbmcSHy5n",
+ "b29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYhvQDIAEoCDozCghwb3B1",
+ "bGF0ZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiH9AMgASgI",
+ "OjMKCHN0cmluZ2VyEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25z",
+ "GMCLBCABKAg6MgoHb25seW9uZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdl",
+ "T3B0aW9ucxiJ9AMgASgIOjAKBWVxdWFsEh8uZ29vZ2xlLnByb3RvYnVmLk1l",
+ "c3NhZ2VPcHRpb25zGI30AyABKAg6NgoLZGVzY3JpcHRpb24SHy5nb29nbGUu",
+ "cHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYjvQDIAEoCDoyCgd0ZXN0Z2VuEh8u",
+ "Z29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGI/0AyABKAg6MwoIYmVu",
+ "Y2hnZW4SHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkPQDIAEo",
+ "CDo0CgltYXJzaGFsZXISHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlv",
+ "bnMYkfQDIAEoCDo2Cgt1bm1hcnNoYWxlchIfLmdvb2dsZS5wcm90b2J1Zi5N",
+ "ZXNzYWdlT3B0aW9ucxiS9AMgASgIOjsKEHN0YWJsZV9tYXJzaGFsZXISHy5n",
+ "b29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYk/QDIAEoCDowCgVzaXpl",
+ "chIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxiU9AMgASgIOjsK",
+ "EHVuc2FmZV9tYXJzaGFsZXISHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9w",
+ "dGlvbnMYl/QDIAEoCDo9ChJ1bnNhZmVfdW5tYXJzaGFsZXISHy5nb29nbGUu",
+ "cHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYmPQDIAEoCDpBChZnb3Byb3RvX2V4",
+ "dGVuc2lvbnNfbWFwEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25z",
+ "GJn0AyABKAg6PwoUZ29wcm90b191bnJlY29nbml6ZWQSHy5nb29nbGUucHJv",
+ "dG9idWYuTWVzc2FnZU9wdGlvbnMYmvQDIAEoCDo1Cgpwcm90b3NpemVyEh8u",
+ "Z29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25zGJz0AyABKAg6MgoHY29t",
+ "cGFyZRIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxid9AMgASgI",
+ "OjMKCHR5cGVkZWNsEh8uZ29vZ2xlLnByb3RvYnVmLk1lc3NhZ2VPcHRpb25z",
+ "GJ70AyABKAg6NgoLbWVzc2FnZW5hbWUSHy5nb29nbGUucHJvdG9idWYuTWVz",
+ "c2FnZU9wdGlvbnMYofQDIAEoCDo8ChFnb3Byb3RvX3NpemVjYWNoZRIfLmdv",
+ "b2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxii9AMgASgIOjoKD2dvcHJv",
+ "dG9fdW5rZXllZBIfLmdvb2dsZS5wcm90b2J1Zi5NZXNzYWdlT3B0aW9ucxij",
+ "9AMgASgIOjEKCG51bGxhYmxlEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0",
+ "aW9ucxjp+wMgASgIOi4KBWVtYmVkEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxk",
+ "T3B0aW9ucxjq+wMgASgIOjMKCmN1c3RvbXR5cGUSHS5nb29nbGUucHJvdG9i",
+ "dWYuRmllbGRPcHRpb25zGOv7AyABKAk6MwoKY3VzdG9tbmFtZRIdLmdvb2ds",
+ "ZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMY7PsDIAEoCTowCgdqc29udGFnEh0u",
+ "Z29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxjt+wMgASgJOjEKCG1vcmV0",
+ "YWdzEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxju+wMgASgJOjEK",
+ "CGNhc3R0eXBlEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucxjv+wMg",
+ "ASgJOjAKB2Nhc3RrZXkSHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25z",
+ "GPD7AyABKAk6MgoJY2FzdHZhbHVlEh0uZ29vZ2xlLnByb3RvYnVmLkZpZWxk",
+ "T3B0aW9ucxjx+wMgASgJOjAKB3N0ZHRpbWUSHS5nb29nbGUucHJvdG9idWYu",
+ "RmllbGRPcHRpb25zGPL7AyABKAg6NAoLc3RkZHVyYXRpb24SHS5nb29nbGUu",
+ "cHJvdG9idWYuRmllbGRPcHRpb25zGPP7AyABKAg6MwoKd2t0cG9pbnRlchId",
+ "Lmdvb2dsZS5wcm90b2J1Zi5GaWVsZE9wdGlvbnMY9PsDIAEoCEJFChNjb20u",
+ "Z29vZ2xlLnByb3RvYnVmQgpHb0dvUHJvdG9zWiJnaXRodWIuY29tL2dvZ28v",
+ "cHJvdG9idWYvZ29nb3Byb3Rv"));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { global::Google.Protobuf.Reflection.DescriptorReflection.Descriptor, },
+ new pbr::GeneratedClrTypeInfo(null, new pb::Extension[] { GogoExtensions.GoprotoEnumPrefix, GogoExtensions.GoprotoEnumStringer, GogoExtensions.EnumStringer, GogoExtensions.EnumCustomname, GogoExtensions.Enumdecl, GogoExtensions.EnumvalueCustomname, GogoExtensions.GoprotoGettersAll, GogoExtensions.GoprotoEnumPrefixAll, GogoExtensions.GoprotoStringerAll, GogoExtensions.VerboseEqualAll, GogoExtensions.FaceAll, GogoExtensions.GostringAll, GogoExtensions.PopulateAll, GogoExtensions.StringerAll, GogoExtensions.OnlyoneAll, GogoExtensions.EqualAll, GogoExtensions.DescriptionAll, GogoExtensions.TestgenAll, GogoExtensions.BenchgenAll, GogoExtensions.MarshalerAll, GogoExtensions.UnmarshalerAll, GogoExtensions.StableMarshalerAll, GogoExtensions.SizerAll, GogoExtensions.GoprotoEnumStringerAll, GogoExtensions.EnumStringerAll, GogoExtensions.UnsafeMarshalerAll, GogoExtensions.UnsafeUnmarshalerAll, GogoExtensions.GoprotoExtensionsMapAll, GogoExtensions.GoprotoUnrecognizedAll, GogoExtensions.GogoprotoImport, GogoExtensions.ProtosizerAll, GogoExtensions.CompareAll, GogoExtensions.TypedeclAll, GogoExtensions.EnumdeclAll, GogoExtensions.GoprotoRegistration, GogoExtensions.MessagenameAll, GogoExtensions.GoprotoSizecacheAll, GogoExtensions.GoprotoUnkeyedAll, GogoExtensions.GoprotoGetters, GogoExtensions.GoprotoStringer, GogoExtensions.VerboseEqual, GogoExtensions.Face, GogoExtensions.Gostring, GogoExtensions.Populate, GogoExtensions.Stringer, GogoExtensions.Onlyone, GogoExtensions.Equal, GogoExtensions.Description, GogoExtensions.Testgen, GogoExtensions.Benchgen, GogoExtensions.Marshaler, GogoExtensions.Unmarshaler, GogoExtensions.StableMarshaler, GogoExtensions.Sizer, GogoExtensions.UnsafeMarshaler, GogoExtensions.UnsafeUnmarshaler, GogoExtensions.GoprotoExtensionsMap, GogoExtensions.GoprotoUnrecognized, GogoExtensions.Protosizer, GogoExtensions.Compare, GogoExtensions.Typedecl, GogoExtensions.Messagename, GogoExtensions.GoprotoSizecache, GogoExtensions.GoprotoUnkeyed, GogoExtensions.Nullable, GogoExtensions.Embed, GogoExtensions.Customtype, GogoExtensions.Customname, GogoExtensions.Jsontag, GogoExtensions.Moretags, GogoExtensions.Casttype, GogoExtensions.Castkey, GogoExtensions.Castvalue, GogoExtensions.Stdtime, GogoExtensions.Stdduration, GogoExtensions.Wktpointer }, null));
+ }
+ #endregion
+
+ }
+ /// Holder for extension identifiers generated from the top level of gogoproto/gogo.proto
+ internal static partial class GogoExtensions {
+ public static readonly pb::Extension GoprotoEnumPrefix =
+ new pb::Extension(62001, pb::FieldCodec.ForBool(496008, false));
+ public static readonly pb::Extension GoprotoEnumStringer =
+ new pb::Extension(62021, pb::FieldCodec.ForBool(496168, false));
+ public static readonly pb::Extension EnumStringer =
+ new pb::Extension(62022, pb::FieldCodec.ForBool(496176, false));
+ public static readonly pb::Extension EnumCustomname =
+ new pb::Extension(62023, pb::FieldCodec.ForString(496186, ""));
+ public static readonly pb::Extension Enumdecl =
+ new pb::Extension(62024, pb::FieldCodec.ForBool(496192, false));
+ public static readonly pb::Extension EnumvalueCustomname =
+ new pb::Extension(66001, pb::FieldCodec.ForString(528010, ""));
+ public static readonly pb::Extension GoprotoGettersAll =
+ new pb::Extension(63001, pb::FieldCodec.ForBool(504008, false));
+ public static readonly pb::Extension GoprotoEnumPrefixAll =
+ new pb::Extension(63002, pb::FieldCodec.ForBool(504016, false));
+ public static readonly pb::Extension GoprotoStringerAll =
+ new pb::Extension(63003, pb::FieldCodec.ForBool(504024, false));
+ public static readonly pb::Extension VerboseEqualAll =
+ new pb::Extension(63004, pb::FieldCodec.ForBool(504032, false));
+ public static readonly pb::Extension FaceAll =
+ new pb::Extension(63005, pb::FieldCodec.ForBool(504040, false));
+ public static readonly pb::Extension GostringAll =
+ new pb::Extension(63006, pb::FieldCodec.ForBool(504048, false));
+ public static readonly pb::Extension PopulateAll =
+ new pb::Extension(63007, pb::FieldCodec.ForBool(504056, false));
+ public static readonly pb::Extension StringerAll =
+ new pb::Extension(63008, pb::FieldCodec.ForBool(504064, false));
+ public static readonly pb::Extension OnlyoneAll =
+ new pb::Extension(63009, pb::FieldCodec.ForBool(504072, false));
+ public static readonly pb::Extension EqualAll =
+ new pb::Extension(63013, pb::FieldCodec.ForBool(504104, false));
+ public static readonly pb::Extension DescriptionAll =
+ new pb::Extension(63014, pb::FieldCodec.ForBool(504112, false));
+ public static readonly pb::Extension TestgenAll =
+ new pb::Extension(63015, pb::FieldCodec.ForBool(504120, false));
+ public static readonly pb::Extension BenchgenAll =
+ new pb::Extension(63016, pb::FieldCodec.ForBool(504128, false));
+ public static readonly pb::Extension MarshalerAll =
+ new pb::Extension(63017, pb::FieldCodec.ForBool(504136, false));
+ public static readonly pb::Extension UnmarshalerAll =
+ new pb::Extension(63018, pb::FieldCodec.ForBool(504144, false));
+ public static readonly pb::Extension StableMarshalerAll =
+ new pb::Extension(63019, pb::FieldCodec.ForBool(504152, false));
+ public static readonly pb::Extension SizerAll =
+ new pb::Extension(63020, pb::FieldCodec.ForBool(504160, false));
+ public static readonly pb::Extension GoprotoEnumStringerAll =
+ new pb::Extension(63021, pb::FieldCodec.ForBool(504168, false));
+ public static readonly pb::Extension EnumStringerAll =
+ new pb::Extension(63022, pb::FieldCodec.ForBool(504176, false));
+ public static readonly pb::Extension UnsafeMarshalerAll =
+ new pb::Extension(63023, pb::FieldCodec.ForBool(504184, false));
+ public static readonly pb::Extension UnsafeUnmarshalerAll =
+ new pb::Extension(63024, pb::FieldCodec.ForBool(504192, false));
+ public static readonly pb::Extension GoprotoExtensionsMapAll =
+ new pb::Extension(63025, pb::FieldCodec.ForBool(504200, false));
+ public static readonly pb::Extension GoprotoUnrecognizedAll =
+ new pb::Extension(63026, pb::FieldCodec.ForBool(504208, false));
+ public static readonly pb::Extension GogoprotoImport =
+ new pb::Extension(63027, pb::FieldCodec.ForBool(504216, false));
+ public static readonly pb::Extension ProtosizerAll =
+ new pb::Extension(63028, pb::FieldCodec.ForBool(504224, false));
+ public static readonly pb::Extension CompareAll =
+ new pb::Extension(63029, pb::FieldCodec.ForBool(504232, false));
+ public static readonly pb::Extension TypedeclAll =
+ new pb::Extension(63030, pb::FieldCodec.ForBool(504240, false));
+ public static readonly pb::Extension EnumdeclAll =
+ new pb::Extension(63031, pb::FieldCodec.ForBool(504248, false));
+ public static readonly pb::Extension GoprotoRegistration =
+ new pb::Extension(63032, pb::FieldCodec.ForBool(504256, false));
+ public static readonly pb::Extension MessagenameAll =
+ new pb::Extension(63033, pb::FieldCodec.ForBool(504264, false));
+ public static readonly pb::Extension GoprotoSizecacheAll =
+ new pb::Extension(63034, pb::FieldCodec.ForBool(504272, false));
+ public static readonly pb::Extension GoprotoUnkeyedAll =
+ new pb::Extension(63035, pb::FieldCodec.ForBool(504280, false));
+ public static readonly pb::Extension GoprotoGetters =
+ new pb::Extension(64001, pb::FieldCodec.ForBool(512008, false));
+ public static readonly pb::Extension GoprotoStringer =
+ new pb::Extension(64003, pb::FieldCodec.ForBool(512024, false));
+ public static readonly pb::Extension VerboseEqual =
+ new pb::Extension(64004, pb::FieldCodec.ForBool(512032, false));
+ public static readonly pb::Extension Face =
+ new pb::Extension(64005, pb::FieldCodec.ForBool(512040, false));
+ public static readonly pb::Extension Gostring =
+ new pb::Extension(64006, pb::FieldCodec.ForBool(512048, false));
+ public static readonly pb::Extension Populate =
+ new pb::Extension(64007, pb::FieldCodec.ForBool(512056, false));
+ public static readonly pb::Extension Stringer =
+ new pb::Extension(67008, pb::FieldCodec.ForBool(536064, false));
+ public static readonly pb::Extension Onlyone =
+ new pb::Extension(64009, pb::FieldCodec.ForBool(512072, false));
+ public static readonly pb::Extension Equal =
+ new pb::Extension(64013, pb::FieldCodec.ForBool(512104, false));
+ public static readonly pb::Extension Description =
+ new pb::Extension(64014, pb::FieldCodec.ForBool(512112, false));
+ public static readonly pb::Extension Testgen =
+ new pb::Extension(64015, pb::FieldCodec.ForBool(512120, false));
+ public static readonly pb::Extension Benchgen =
+ new pb::Extension(64016, pb::FieldCodec.ForBool(512128, false));
+ public static readonly pb::Extension Marshaler =
+ new pb::Extension(64017, pb::FieldCodec.ForBool(512136, false));
+ public static readonly pb::Extension Unmarshaler =
+ new pb::Extension(64018, pb::FieldCodec.ForBool(512144, false));
+ public static readonly pb::Extension StableMarshaler =
+ new pb::Extension(64019, pb::FieldCodec.ForBool(512152, false));
+ public static readonly pb::Extension Sizer =
+ new pb::Extension(64020, pb::FieldCodec.ForBool(512160, false));
+ public static readonly pb::Extension UnsafeMarshaler =
+ new pb::Extension(64023, pb::FieldCodec.ForBool(512184, false));
+ public static readonly pb::Extension UnsafeUnmarshaler =
+ new pb::Extension(64024, pb::FieldCodec.ForBool(512192, false));
+ public static readonly pb::Extension GoprotoExtensionsMap =
+ new pb::Extension(64025, pb::FieldCodec.ForBool(512200, false));
+ public static readonly pb::Extension GoprotoUnrecognized =
+ new pb::Extension(64026, pb::FieldCodec.ForBool(512208, false));
+ public static readonly pb::Extension Protosizer =
+ new pb::Extension(64028, pb::FieldCodec.ForBool(512224, false));
+ public static readonly pb::Extension Compare =
+ new pb::Extension(64029, pb::FieldCodec.ForBool(512232, false));
+ public static readonly pb::Extension Typedecl =
+ new pb::Extension(64030, pb::FieldCodec.ForBool(512240, false));
+ public static readonly pb::Extension Messagename =
+ new pb::Extension(64033, pb::FieldCodec.ForBool(512264, false));
+ public static readonly pb::Extension GoprotoSizecache =
+ new pb::Extension(64034, pb::FieldCodec.ForBool(512272, false));
+ public static readonly pb::Extension GoprotoUnkeyed =
+ new pb::Extension(64035, pb::FieldCodec.ForBool(512280, false));
+ public static readonly pb::Extension Nullable =
+ new pb::Extension(65001, pb::FieldCodec.ForBool(520008, false));
+ public static readonly pb::Extension Embed =
+ new pb::Extension(65002, pb::FieldCodec.ForBool(520016, false));
+ public static readonly pb::Extension Customtype =
+ new pb::Extension(65003, pb::FieldCodec.ForString(520026, ""));
+ public static readonly pb::Extension Customname =
+ new pb::Extension(65004, pb::FieldCodec.ForString(520034, ""));
+ public static readonly pb::Extension Jsontag =
+ new pb::Extension(65005, pb::FieldCodec.ForString(520042, ""));
+ public static readonly pb::Extension Moretags =
+ new pb::Extension(65006, pb::FieldCodec.ForString(520050, ""));
+ public static readonly pb::Extension Casttype =
+ new pb::Extension(65007, pb::FieldCodec.ForString(520058, ""));
+ public static readonly pb::Extension Castkey =
+ new pb::Extension(65008, pb::FieldCodec.ForString(520066, ""));
+ public static readonly pb::Extension Castvalue =
+ new pb::Extension(65009, pb::FieldCodec.ForString(520074, ""));
+ public static readonly pb::Extension Stdtime =
+ new pb::Extension(65010, pb::FieldCodec.ForBool(520080, false));
+ public static readonly pb::Extension Stdduration =
+ new pb::Extension(65011, pb::FieldCodec.ForBool(520088, false));
+ public static readonly pb::Extension Wktpointer =
+ new pb::Extension(65012, pb::FieldCodec.ForBool(520096, false));
+ }
+
+}
+
+#endregion Designer generated code
diff --git a/src/Communication/Jaeger.Communication.Grpc/Google/Api/Annotations.cs b/src/Communication/Jaeger.Communication.Grpc/Google/Api/Annotations.cs
new file mode 100644
index 000000000..671a73b49
--- /dev/null
+++ b/src/Communication/Jaeger.Communication.Grpc/Google/Api/Annotations.cs
@@ -0,0 +1,52 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/api/annotations.proto
+//
+#pragma warning disable 1591, 0612, 3021
+#region Designer generated code
+
+using pb = global::Google.Protobuf;
+using pbc = global::Google.Protobuf.Collections;
+using pbr = global::Google.Protobuf.Reflection;
+using scg = global::System.Collections.Generic;
+namespace Google.Api {
+
+ /// Holder for reflection information generated from google/api/annotations.proto
+ internal static partial class AnnotationsReflection {
+
+ #region Descriptor
+ /// File descriptor for google/api/annotations.proto
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static AnnotationsReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpGhVn",
+ "b29nbGUvYXBpL2h0dHAucHJvdG8aIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlw",
+ "dG9yLnByb3RvOkUKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0",
+ "aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVCbgoOY29tLmdv",
+ "b2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5v",
+ "cmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3Rh",
+ "dGlvbnOiAgRHQVBJYgZwcm90bzM="));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { global::Google.Api.HttpReflection.Descriptor, global::Google.Protobuf.Reflection.DescriptorReflection.Descriptor, },
+ new pbr::GeneratedClrTypeInfo(null, new pb::Extension[] { AnnotationsExtensions.Http }, null));
+ }
+ #endregion
+
+ }
+ /// Holder for extension identifiers generated from the top level of google/api/annotations.proto
+ internal static partial class AnnotationsExtensions {
+ ///
+ /// See `HttpRule`.
+ ///
+ public static readonly pb::Extension Http =
+ new pb::Extension(72295728, pb::FieldCodec.ForMessage(578365826, global::Google.Api.HttpRule.Parser));
+ }
+
+}
+
+#endregion Designer generated code
diff --git a/src/Communication/Jaeger.Communication.Grpc/Google/Api/Http.cs b/src/Communication/Jaeger.Communication.Grpc/Google/Api/Http.cs
new file mode 100644
index 000000000..6b7beceb3
--- /dev/null
+++ b/src/Communication/Jaeger.Communication.Grpc/Google/Api/Http.cs
@@ -0,0 +1,1067 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/api/http.proto
+//
+#pragma warning disable 1591, 0612, 3021
+#region Designer generated code
+
+using pb = global::Google.Protobuf;
+using pbc = global::Google.Protobuf.Collections;
+using pbr = global::Google.Protobuf.Reflection;
+using scg = global::System.Collections.Generic;
+namespace Google.Api {
+
+ /// Holder for reflection information generated from google/api/http.proto
+ internal static partial class HttpReflection {
+
+ #region Descriptor
+ /// File descriptor for google/api/http.proto
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static HttpReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "ChVnb29nbGUvYXBpL2h0dHAucHJvdG8SCmdvb2dsZS5hcGkiVAoESHR0cBIj",
+ "CgVydWxlcxgBIAMoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGUSJwofZnVsbHlf",
+ "ZGVjb2RlX3Jlc2VydmVkX2V4cGFuc2lvbhgCIAEoCCKBAgoISHR0cFJ1bGUS",
+ "EAoIc2VsZWN0b3IYASABKAkSDQoDZ2V0GAIgASgJSAASDQoDcHV0GAMgASgJ",
+ "SAASDgoEcG9zdBgEIAEoCUgAEhAKBmRlbGV0ZRgFIAEoCUgAEg8KBXBhdGNo",
+ "GAYgASgJSAASLwoGY3VzdG9tGAggASgLMh0uZ29vZ2xlLmFwaS5DdXN0b21I",
+ "dHRwUGF0dGVybkgAEgwKBGJvZHkYByABKAkSFQoNcmVzcG9uc2VfYm9keRgM",
+ "IAEoCRIxChNhZGRpdGlvbmFsX2JpbmRpbmdzGAsgAygLMhQuZ29vZ2xlLmFw",
+ "aS5IdHRwUnVsZUIJCgdwYXR0ZXJuIi8KEUN1c3RvbUh0dHBQYXR0ZXJuEgwK",
+ "BGtpbmQYASABKAkSDAoEcGF0aBgCIAEoCUJqCg5jb20uZ29vZ2xlLmFwaUIJ",
+ "SHR0cFByb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2ds",
+ "ZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25z+AEBogIER0FQSWIG",
+ "cHJvdG8z"));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { },
+ new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Google.Api.Http), global::Google.Api.Http.Parser, new[]{ "Rules", "FullyDecodeReservedExpansion" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Google.Api.HttpRule), global::Google.Api.HttpRule.Parser, new[]{ "Selector", "Get", "Put", "Post", "Delete", "Patch", "Custom", "Body", "ResponseBody", "AdditionalBindings" }, new[]{ "Pattern" }, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Google.Api.CustomHttpPattern), global::Google.Api.CustomHttpPattern.Parser, new[]{ "Kind", "Path" }, null, null, null, null)
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ ///
+ /// Defines the HTTP configuration for an API service. It contains a list of
+ /// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
+ /// to one or more HTTP REST API methods.
+ ///
+ internal sealed partial class Http : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Http());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Google.Api.HttpReflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Http() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Http(Http other) : this() {
+ rules_ = other.rules_.Clone();
+ fullyDecodeReservedExpansion_ = other.fullyDecodeReservedExpansion_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Http Clone() {
+ return new Http(this);
+ }
+
+ /// Field number for the "rules" field.
+ public const int RulesFieldNumber = 1;
+ private static readonly pb::FieldCodec _repeated_rules_codec
+ = pb::FieldCodec.ForMessage(10, global::Google.Api.HttpRule.Parser);
+ private readonly pbc::RepeatedField rules_ = new pbc::RepeatedField();
+ ///
+ /// A list of HTTP configuration rules that apply to individual API methods.
+ ///
+ /// **NOTE:** All service configuration rules follow "last one wins" order.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Rules {
+ get { return rules_; }
+ }
+
+ /// Field number for the "fully_decode_reserved_expansion" field.
+ public const int FullyDecodeReservedExpansionFieldNumber = 2;
+ private bool fullyDecodeReservedExpansion_;
+ ///
+ /// When set to true, URL path parmeters will be fully URI-decoded except in
+ /// cases of single segment matches in reserved expansion, where "%2F" will be
+ /// left encoded.
+ ///
+ /// The default behavior is to not decode RFC 6570 reserved characters in multi
+ /// segment matches.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool FullyDecodeReservedExpansion {
+ get { return fullyDecodeReservedExpansion_; }
+ set {
+ fullyDecodeReservedExpansion_ = value;
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as Http);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(Http other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if(!rules_.Equals(other.rules_)) return false;
+ if (FullyDecodeReservedExpansion != other.FullyDecodeReservedExpansion) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ hash ^= rules_.GetHashCode();
+ if (FullyDecodeReservedExpansion != false) hash ^= FullyDecodeReservedExpansion.GetHashCode();
+ if (_unknownFields != null) {
+ hash ^= _unknownFields.GetHashCode();
+ }
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void WriteTo(pb::CodedOutputStream output) {
+ rules_.WriteTo(output, _repeated_rules_codec);
+ if (FullyDecodeReservedExpansion != false) {
+ output.WriteRawTag(16);
+ output.WriteBool(FullyDecodeReservedExpansion);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ size += rules_.CalculateSize(_repeated_rules_codec);
+ if (FullyDecodeReservedExpansion != false) {
+ size += 1 + 1;
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(Http other) {
+ if (other == null) {
+ return;
+ }
+ rules_.Add(other.rules_);
+ if (other.FullyDecodeReservedExpansion != false) {
+ FullyDecodeReservedExpansion = other.FullyDecodeReservedExpansion;
+ }
+ _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
+ break;
+ case 10: {
+ rules_.AddEntriesFrom(input, _repeated_rules_codec);
+ break;
+ }
+ case 16: {
+ FullyDecodeReservedExpansion = input.ReadBool();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ ///
+ /// `HttpRule` defines the mapping of an RPC method to one or more HTTP
+ /// REST API methods. The mapping specifies how different portions of the RPC
+ /// request message are mapped to URL path, URL query parameters, and
+ /// HTTP request body. The mapping is typically specified as an
+ /// `google.api.http` annotation on the RPC method,
+ /// see "google/api/annotations.proto" for details.
+ ///
+ /// The mapping consists of a field specifying the path template and
+ /// method kind. The path template can refer to fields in the request
+ /// message, as in the example below which describes a REST GET
+ /// operation on a resource collection of messages:
+ ///
+ /// service Messaging {
+ /// rpc GetMessage(GetMessageRequest) returns (Message) {
+ /// option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
+ /// }
+ /// }
+ /// message GetMessageRequest {
+ /// message SubMessage {
+ /// string subfield = 1;
+ /// }
+ /// string message_id = 1; // mapped to the URL
+ /// SubMessage sub = 2; // `sub.subfield` is url-mapped
+ /// }
+ /// message Message {
+ /// string text = 1; // content of the resource
+ /// }
+ ///
+ /// The same http annotation can alternatively be expressed inside the
+ /// `GRPC API Configuration` YAML file.
+ ///
+ /// http:
+ /// rules:
+ /// - selector: <proto_package_name>.Messaging.GetMessage
+ /// get: /v1/messages/{message_id}/{sub.subfield}
+ ///
+ /// This definition enables an automatic, bidrectional mapping of HTTP
+ /// JSON to RPC. Example:
+ ///
+ /// HTTP | RPC
+ /// -----|-----
+ /// `GET /v1/messages/123456/foo` | `GetMessage(message_id: "123456" sub: SubMessage(subfield: "foo"))`
+ ///
+ /// In general, not only fields but also field paths can be referenced
+ /// from a path pattern. Fields mapped to the path pattern cannot be
+ /// repeated and must have a primitive (non-message) type.
+ ///
+ /// Any fields in the request message which are not bound by the path
+ /// pattern automatically become (optional) HTTP query
+ /// parameters. Assume the following definition of the request message:
+ ///
+ /// service Messaging {
+ /// rpc GetMessage(GetMessageRequest) returns (Message) {
+ /// option (google.api.http).get = "/v1/messages/{message_id}";
+ /// }
+ /// }
+ /// message GetMessageRequest {
+ /// message SubMessage {
+ /// string subfield = 1;
+ /// }
+ /// string message_id = 1; // mapped to the URL
+ /// int64 revision = 2; // becomes a parameter
+ /// SubMessage sub = 3; // `sub.subfield` becomes a parameter
+ /// }
+ ///
+ /// This enables a HTTP JSON to RPC mapping as below:
+ ///
+ /// HTTP | RPC
+ /// -----|-----
+ /// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: "foo"))`
+ ///
+ /// Note that fields which are mapped to HTTP parameters must have a
+ /// primitive type or a repeated primitive type. Message types are not
+ /// allowed. In the case of a repeated type, the parameter can be
+ /// repeated in the URL, as in `...?param=A¶m=B`.
+ ///
+ /// For HTTP method kinds which allow a request body, the `body` field
+ /// specifies the mapping. Consider a REST update method on the
+ /// message resource collection:
+ ///
+ /// service Messaging {
+ /// rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
+ /// option (google.api.http) = {
+ /// put: "/v1/messages/{message_id}"
+ /// body: "message"
+ /// };
+ /// }
+ /// }
+ /// message UpdateMessageRequest {
+ /// string message_id = 1; // mapped to the URL
+ /// Message message = 2; // mapped to the body
+ /// }
+ ///
+ /// The following HTTP JSON to RPC mapping is enabled, where the
+ /// representation of the JSON in the request body is determined by
+ /// protos JSON encoding:
+ ///
+ /// HTTP | RPC
+ /// -----|-----
+ /// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" message { text: "Hi!" })`
+ ///
+ /// The special name `*` can be used in the body mapping to define that
+ /// every field not bound by the path template should be mapped to the
+ /// request body. This enables the following alternative definition of
+ /// the update method:
+ ///
+ /// service Messaging {
+ /// rpc UpdateMessage(Message) returns (Message) {
+ /// option (google.api.http) = {
+ /// put: "/v1/messages/{message_id}"
+ /// body: "*"
+ /// };
+ /// }
+ /// }
+ /// message Message {
+ /// string message_id = 1;
+ /// string text = 2;
+ /// }
+ ///
+ /// The following HTTP JSON to RPC mapping is enabled:
+ ///
+ /// HTTP | RPC
+ /// -----|-----
+ /// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" text: "Hi!")`
+ ///
+ /// Note that when using `*` in the body mapping, it is not possible to
+ /// have HTTP parameters, as all fields not bound by the path end in
+ /// the body. This makes this option more rarely used in practice of
+ /// defining REST APIs. The common usage of `*` is in custom methods
+ /// which don't use the URL at all for transferring data.
+ ///
+ /// It is possible to define multiple HTTP methods for one RPC by using
+ /// the `additional_bindings` option. Example:
+ ///
+ /// service Messaging {
+ /// rpc GetMessage(GetMessageRequest) returns (Message) {
+ /// option (google.api.http) = {
+ /// get: "/v1/messages/{message_id}"
+ /// additional_bindings {
+ /// get: "/v1/users/{user_id}/messages/{message_id}"
+ /// }
+ /// };
+ /// }
+ /// }
+ /// message GetMessageRequest {
+ /// string message_id = 1;
+ /// string user_id = 2;
+ /// }
+ ///
+ /// This enables the following two alternative HTTP JSON to RPC
+ /// mappings:
+ ///
+ /// HTTP | RPC
+ /// -----|-----
+ /// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
+ /// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "123456")`
+ ///
+ /// # Rules for HTTP mapping
+ ///
+ /// The rules for mapping HTTP path, query parameters, and body fields
+ /// to the request message are as follows:
+ ///
+ /// 1. The `body` field specifies either `*` or a field path, or is
+ /// omitted. If omitted, it indicates there is no HTTP request body.
+ /// 2. Leaf fields (recursive expansion of nested messages in the
+ /// request) can be classified into three types:
+ /// (a) Matched in the URL template.
+ /// (b) Covered by body (if body is `*`, everything except (a) fields;
+ /// else everything under the body field)
+ /// (c) All other fields.
+ /// 3. URL query parameters found in the HTTP request are mapped to (c) fields.
+ /// 4. Any body sent with an HTTP request can contain only (b) fields.
+ ///
+ /// The syntax of the path template is as follows:
+ ///
+ /// Template = "/" Segments [ Verb ] ;
+ /// Segments = Segment { "/" Segment } ;
+ /// Segment = "*" | "**" | LITERAL | Variable ;
+ /// Variable = "{" FieldPath [ "=" Segments ] "}" ;
+ /// FieldPath = IDENT { "." IDENT } ;
+ /// Verb = ":" LITERAL ;
+ ///
+ /// The syntax `*` matches a single path segment. The syntax `**` matches zero
+ /// or more path segments, which must be the last part of the path except the
+ /// `Verb`. The syntax `LITERAL` matches literal text in the path.
+ ///
+ /// The syntax `Variable` matches part of the URL path as specified by its
+ /// template. A variable template must not contain other variables. If a variable
+ /// matches a single path segment, its template may be omitted, e.g. `{var}`
+ /// is equivalent to `{var=*}`.
+ ///
+ /// If a variable contains exactly one path segment, such as `"{var}"` or
+ /// `"{var=*}"`, when such a variable is expanded into a URL path, all characters
+ /// except `[-_.~0-9a-zA-Z]` are percent-encoded. Such variables show up in the
+ /// Discovery Document as `{var}`.
+ ///
+ /// If a variable contains one or more path segments, such as `"{var=foo/*}"`
+ /// or `"{var=**}"`, when such a variable is expanded into a URL path, all
+ /// characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables
+ /// show up in the Discovery Document as `{+var}`.
+ ///
+ /// NOTE: While the single segment variable matches the semantics of
+ /// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2
+ /// Simple String Expansion, the multi segment variable **does not** match
+ /// RFC 6570 Reserved Expansion. The reason is that the Reserved Expansion
+ /// does not expand special characters like `?` and `#`, which would lead
+ /// to invalid URLs.
+ ///
+ /// NOTE: the field paths in variables and in the `body` must not refer to
+ /// repeated fields or map fields.
+ ///
+ internal sealed partial class HttpRule : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new HttpRule());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Google.Api.HttpReflection.Descriptor.MessageTypes[1]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public HttpRule() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public HttpRule(HttpRule other) : this() {
+ selector_ = other.selector_;
+ body_ = other.body_;
+ responseBody_ = other.responseBody_;
+ additionalBindings_ = other.additionalBindings_.Clone();
+ switch (other.PatternCase) {
+ case PatternOneofCase.Get:
+ Get = other.Get;
+ break;
+ case PatternOneofCase.Put:
+ Put = other.Put;
+ break;
+ case PatternOneofCase.Post:
+ Post = other.Post;
+ break;
+ case PatternOneofCase.Delete:
+ Delete = other.Delete;
+ break;
+ case PatternOneofCase.Patch:
+ Patch = other.Patch;
+ break;
+ case PatternOneofCase.Custom:
+ Custom = other.Custom.Clone();
+ break;
+ }
+
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public HttpRule Clone() {
+ return new HttpRule(this);
+ }
+
+ /// Field number for the "selector" field.
+ public const int SelectorFieldNumber = 1;
+ private string selector_ = "";
+ ///
+ /// Selects methods to which this rule applies.
+ ///
+ /// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Selector {
+ get { return selector_; }
+ set {
+ selector_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "get" field.
+ public const int GetFieldNumber = 2;
+ ///
+ /// Used for listing and getting information about resources.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Get {
+ get { return patternCase_ == PatternOneofCase.Get ? (string) pattern_ : ""; }
+ set {
+ pattern_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ patternCase_ = PatternOneofCase.Get;
+ }
+ }
+
+ /// Field number for the "put" field.
+ public const int PutFieldNumber = 3;
+ ///
+ /// Used for updating a resource.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Put {
+ get { return patternCase_ == PatternOneofCase.Put ? (string) pattern_ : ""; }
+ set {
+ pattern_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ patternCase_ = PatternOneofCase.Put;
+ }
+ }
+
+ /// Field number for the "post" field.
+ public const int PostFieldNumber = 4;
+ ///
+ /// Used for creating a resource.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Post {
+ get { return patternCase_ == PatternOneofCase.Post ? (string) pattern_ : ""; }
+ set {
+ pattern_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ patternCase_ = PatternOneofCase.Post;
+ }
+ }
+
+ /// Field number for the "delete" field.
+ public const int DeleteFieldNumber = 5;
+ ///
+ /// Used for deleting a resource.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Delete {
+ get { return patternCase_ == PatternOneofCase.Delete ? (string) pattern_ : ""; }
+ set {
+ pattern_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ patternCase_ = PatternOneofCase.Delete;
+ }
+ }
+
+ /// Field number for the "patch" field.
+ public const int PatchFieldNumber = 6;
+ ///
+ /// Used for updating a resource.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Patch {
+ get { return patternCase_ == PatternOneofCase.Patch ? (string) pattern_ : ""; }
+ set {
+ pattern_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ patternCase_ = PatternOneofCase.Patch;
+ }
+ }
+
+ /// Field number for the "custom" field.
+ public const int CustomFieldNumber = 8;
+ ///
+ /// The custom pattern is used for specifying an HTTP method that is not
+ /// included in the `pattern` field, such as HEAD, or "*" to leave the
+ /// HTTP method unspecified for this rule. The wild-card rule is useful
+ /// for services that provide content to Web (HTML) clients.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Google.Api.CustomHttpPattern Custom {
+ get { return patternCase_ == PatternOneofCase.Custom ? (global::Google.Api.CustomHttpPattern) pattern_ : null; }
+ set {
+ pattern_ = value;
+ patternCase_ = value == null ? PatternOneofCase.None : PatternOneofCase.Custom;
+ }
+ }
+
+ /// Field number for the "body" field.
+ public const int BodyFieldNumber = 7;
+ private string body_ = "";
+ ///
+ /// The name of the request field whose value is mapped to the HTTP body, or
+ /// `*` for mapping all fields not captured by the path pattern to the HTTP
+ /// body. NOTE: the referred field must not be a repeated field and must be
+ /// present at the top-level of request message type.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Body {
+ get { return body_; }
+ set {
+ body_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "response_body" field.
+ public const int ResponseBodyFieldNumber = 12;
+ private string responseBody_ = "";
+ ///
+ /// Optional. The name of the response field whose value is mapped to the HTTP
+ /// body of response. Other response fields are ignored. When
+ /// not set, the response message will be used as HTTP body of response.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string ResponseBody {
+ get { return responseBody_; }
+ set {
+ responseBody_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "additional_bindings" field.
+ public const int AdditionalBindingsFieldNumber = 11;
+ private static readonly pb::FieldCodec _repeated_additionalBindings_codec
+ = pb::FieldCodec.ForMessage(90, global::Google.Api.HttpRule.Parser);
+ private readonly pbc::RepeatedField additionalBindings_ = new pbc::RepeatedField();
+ ///
+ /// Additional HTTP bindings for the selector. Nested bindings must
+ /// not contain an `additional_bindings` field themselves (that is,
+ /// the nesting may only be one level deep).
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField AdditionalBindings {
+ get { return additionalBindings_; }
+ }
+
+ private object pattern_;
+ /// Enum of possible cases for the "pattern" oneof.
+ public enum PatternOneofCase {
+ None = 0,
+ Get = 2,
+ Put = 3,
+ Post = 4,
+ Delete = 5,
+ Patch = 6,
+ Custom = 8,
+ }
+ private PatternOneofCase patternCase_ = PatternOneofCase.None;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public PatternOneofCase PatternCase {
+ get { return patternCase_; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void ClearPattern() {
+ patternCase_ = PatternOneofCase.None;
+ pattern_ = null;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as HttpRule);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(HttpRule other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Selector != other.Selector) return false;
+ if (Get != other.Get) return false;
+ if (Put != other.Put) return false;
+ if (Post != other.Post) return false;
+ if (Delete != other.Delete) return false;
+ if (Patch != other.Patch) return false;
+ if (!object.Equals(Custom, other.Custom)) return false;
+ if (Body != other.Body) return false;
+ if (ResponseBody != other.ResponseBody) return false;
+ if(!additionalBindings_.Equals(other.additionalBindings_)) return false;
+ if (PatternCase != other.PatternCase) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Selector.Length != 0) hash ^= Selector.GetHashCode();
+ if (patternCase_ == PatternOneofCase.Get) hash ^= Get.GetHashCode();
+ if (patternCase_ == PatternOneofCase.Put) hash ^= Put.GetHashCode();
+ if (patternCase_ == PatternOneofCase.Post) hash ^= Post.GetHashCode();
+ if (patternCase_ == PatternOneofCase.Delete) hash ^= Delete.GetHashCode();
+ if (patternCase_ == PatternOneofCase.Patch) hash ^= Patch.GetHashCode();
+ if (patternCase_ == PatternOneofCase.Custom) hash ^= Custom.GetHashCode();
+ if (Body.Length != 0) hash ^= Body.GetHashCode();
+ if (ResponseBody.Length != 0) hash ^= ResponseBody.GetHashCode();
+ hash ^= additionalBindings_.GetHashCode();
+ hash ^= (int) patternCase_;
+ if (_unknownFields != null) {
+ hash ^= _unknownFields.GetHashCode();
+ }
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void WriteTo(pb::CodedOutputStream output) {
+ if (Selector.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(Selector);
+ }
+ if (patternCase_ == PatternOneofCase.Get) {
+ output.WriteRawTag(18);
+ output.WriteString(Get);
+ }
+ if (patternCase_ == PatternOneofCase.Put) {
+ output.WriteRawTag(26);
+ output.WriteString(Put);
+ }
+ if (patternCase_ == PatternOneofCase.Post) {
+ output.WriteRawTag(34);
+ output.WriteString(Post);
+ }
+ if (patternCase_ == PatternOneofCase.Delete) {
+ output.WriteRawTag(42);
+ output.WriteString(Delete);
+ }
+ if (patternCase_ == PatternOneofCase.Patch) {
+ output.WriteRawTag(50);
+ output.WriteString(Patch);
+ }
+ if (Body.Length != 0) {
+ output.WriteRawTag(58);
+ output.WriteString(Body);
+ }
+ if (patternCase_ == PatternOneofCase.Custom) {
+ output.WriteRawTag(66);
+ output.WriteMessage(Custom);
+ }
+ additionalBindings_.WriteTo(output, _repeated_additionalBindings_codec);
+ if (ResponseBody.Length != 0) {
+ output.WriteRawTag(98);
+ output.WriteString(ResponseBody);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Selector.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Selector);
+ }
+ if (patternCase_ == PatternOneofCase.Get) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Get);
+ }
+ if (patternCase_ == PatternOneofCase.Put) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Put);
+ }
+ if (patternCase_ == PatternOneofCase.Post) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Post);
+ }
+ if (patternCase_ == PatternOneofCase.Delete) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Delete);
+ }
+ if (patternCase_ == PatternOneofCase.Patch) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Patch);
+ }
+ if (patternCase_ == PatternOneofCase.Custom) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Custom);
+ }
+ if (Body.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Body);
+ }
+ if (ResponseBody.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(ResponseBody);
+ }
+ size += additionalBindings_.CalculateSize(_repeated_additionalBindings_codec);
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(HttpRule other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Selector.Length != 0) {
+ Selector = other.Selector;
+ }
+ if (other.Body.Length != 0) {
+ Body = other.Body;
+ }
+ if (other.ResponseBody.Length != 0) {
+ ResponseBody = other.ResponseBody;
+ }
+ additionalBindings_.Add(other.additionalBindings_);
+ switch (other.PatternCase) {
+ case PatternOneofCase.Get:
+ Get = other.Get;
+ break;
+ case PatternOneofCase.Put:
+ Put = other.Put;
+ break;
+ case PatternOneofCase.Post:
+ Post = other.Post;
+ break;
+ case PatternOneofCase.Delete:
+ Delete = other.Delete;
+ break;
+ case PatternOneofCase.Patch:
+ Patch = other.Patch;
+ break;
+ case PatternOneofCase.Custom:
+ if (Custom == null) {
+ Custom = new global::Google.Api.CustomHttpPattern();
+ }
+ Custom.MergeFrom(other.Custom);
+ break;
+ }
+
+ _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
+ break;
+ case 10: {
+ Selector = input.ReadString();
+ break;
+ }
+ case 18: {
+ Get = input.ReadString();
+ break;
+ }
+ case 26: {
+ Put = input.ReadString();
+ break;
+ }
+ case 34: {
+ Post = input.ReadString();
+ break;
+ }
+ case 42: {
+ Delete = input.ReadString();
+ break;
+ }
+ case 50: {
+ Patch = input.ReadString();
+ break;
+ }
+ case 58: {
+ Body = input.ReadString();
+ break;
+ }
+ case 66: {
+ global::Google.Api.CustomHttpPattern subBuilder = new global::Google.Api.CustomHttpPattern();
+ if (patternCase_ == PatternOneofCase.Custom) {
+ subBuilder.MergeFrom(Custom);
+ }
+ input.ReadMessage(subBuilder);
+ Custom = subBuilder;
+ break;
+ }
+ case 90: {
+ additionalBindings_.AddEntriesFrom(input, _repeated_additionalBindings_codec);
+ break;
+ }
+ case 98: {
+ ResponseBody = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ ///
+ /// A custom pattern is used for defining custom HTTP verb.
+ ///
+ internal sealed partial class CustomHttpPattern : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CustomHttpPattern());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Google.Api.HttpReflection.Descriptor.MessageTypes[2]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public CustomHttpPattern() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public CustomHttpPattern(CustomHttpPattern other) : this() {
+ kind_ = other.kind_;
+ path_ = other.path_;
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public CustomHttpPattern Clone() {
+ return new CustomHttpPattern(this);
+ }
+
+ /// Field number for the "kind" field.
+ public const int KindFieldNumber = 1;
+ private string kind_ = "";
+ ///
+ /// The name of this custom HTTP verb.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Kind {
+ get { return kind_; }
+ set {
+ kind_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "path" field.
+ public const int PathFieldNumber = 2;
+ private string path_ = "";
+ ///
+ /// The path matched by this custom verb.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Path {
+ get { return path_; }
+ set {
+ path_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as CustomHttpPattern);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(CustomHttpPattern other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Kind != other.Kind) return false;
+ if (Path != other.Path) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Kind.Length != 0) hash ^= Kind.GetHashCode();
+ if (Path.Length != 0) hash ^= Path.GetHashCode();
+ if (_unknownFields != null) {
+ hash ^= _unknownFields.GetHashCode();
+ }
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void WriteTo(pb::CodedOutputStream output) {
+ if (Kind.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(Kind);
+ }
+ if (Path.Length != 0) {
+ output.WriteRawTag(18);
+ output.WriteString(Path);
+ }
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Kind.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Kind);
+ }
+ if (Path.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Path);
+ }
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(CustomHttpPattern other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Kind.Length != 0) {
+ Kind = other.Kind;
+ }
+ if (other.Path.Length != 0) {
+ Path = other.Path;
+ }
+ _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
+ break;
+ case 10: {
+ Kind = input.ReadString();
+ break;
+ }
+ case 18: {
+ Path = input.ReadString();
+ break;
+ }
+ }
+ }
+ }
+
+ }
+
+ #endregion
+
+}
+
+#endregion Designer generated code
diff --git a/src/Communication/Jaeger.Communication.Grpc/Grpc/Gateway/ProtocGenSwagger/Options/Annotations.cs b/src/Communication/Jaeger.Communication.Grpc/Grpc/Gateway/ProtocGenSwagger/Options/Annotations.cs
new file mode 100644
index 000000000..0b2b57864
--- /dev/null
+++ b/src/Communication/Jaeger.Communication.Grpc/Grpc/Gateway/ProtocGenSwagger/Options/Annotations.cs
@@ -0,0 +1,98 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: protoc-gen-swagger/options/annotations.proto
+//
+#pragma warning disable 1591, 0612, 3021
+#region Designer generated code
+
+using pb = global::Google.Protobuf;
+using pbc = global::Google.Protobuf.Collections;
+using pbr = global::Google.Protobuf.Reflection;
+using scg = global::System.Collections.Generic;
+namespace Grpc.Gateway.ProtocGenSwagger.Options {
+
+ /// Holder for reflection information generated from protoc-gen-swagger/options/annotations.proto
+ internal static partial class AnnotationsReflection {
+
+ #region Descriptor
+ /// File descriptor for protoc-gen-swagger/options/annotations.proto
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static AnnotationsReflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "Cixwcm90b2MtZ2VuLXN3YWdnZXIvb3B0aW9ucy9hbm5vdGF0aW9ucy5wcm90",
+ "bxInZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fc3dhZ2dlci5vcHRpb25zGiBn",
+ "b29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bxoqcHJvdG9jLWdlbi1z",
+ "d2FnZ2VyL29wdGlvbnMvb3BlbmFwaXYyLnByb3RvOmoKEW9wZW5hcGl2Ml9z",
+ "d2FnZ2VyEhwuZ29vZ2xlLnByb3RvYnVmLkZpbGVPcHRpb25zGJIIIAEoCzIw",
+ "LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdnZXIub3B0aW9ucy5Td2Fn",
+ "Z2VyOnAKE29wZW5hcGl2Ml9vcGVyYXRpb24SHi5nb29nbGUucHJvdG9idWYu",
+ "TWV0aG9kT3B0aW9ucxiSCCABKAsyMi5ncnBjLmdhdGV3YXkucHJvdG9jX2dl",
+ "bl9zd2FnZ2VyLm9wdGlvbnMuT3BlcmF0aW9uOmsKEG9wZW5hcGl2Ml9zY2hl",
+ "bWESHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnMYkgggASgLMi8u",
+ "Z3JwYy5nYXRld2F5LnByb3RvY19nZW5fc3dhZ2dlci5vcHRpb25zLlNjaGVt",
+ "YTplCg1vcGVuYXBpdjJfdGFnEh8uZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VP",
+ "cHRpb25zGJIIIAEoCzIsLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdn",
+ "ZXIub3B0aW9ucy5UYWc6bAoPb3BlbmFwaXYyX2ZpZWxkEh0uZ29vZ2xlLnBy",
+ "b3RvYnVmLkZpZWxkT3B0aW9ucxiSCCABKAsyMy5ncnBjLmdhdGV3YXkucHJv",
+ "dG9jX2dlbl9zd2FnZ2VyLm9wdGlvbnMuSlNPTlNjaGVtYUJDWkFnaXRodWIu",
+ "Y29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS9wcm90b2MtZ2VuLXN3",
+ "YWdnZXIvb3B0aW9uc2IGcHJvdG8z"));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { global::Google.Protobuf.Reflection.DescriptorReflection.Descriptor, global::Grpc.Gateway.ProtocGenSwagger.Options.Openapiv2Reflection.Descriptor, },
+ new pbr::GeneratedClrTypeInfo(null, new pb::Extension[] { AnnotationsExtensions.Openapiv2Swagger, AnnotationsExtensions.Openapiv2Operation, AnnotationsExtensions.Openapiv2Schema, AnnotationsExtensions.Openapiv2Tag, AnnotationsExtensions.Openapiv2Field }, null));
+ }
+ #endregion
+
+ }
+ /// Holder for extension identifiers generated from the top level of protoc-gen-swagger/options/annotations.proto
+ internal static partial class AnnotationsExtensions {
+ ///
+ /// ID assigned by protobuf-global-extension-registry@google.com for grpc-gateway project.
+ ///
+ /// All IDs are the same, as assigned. It is okay that they are the same, as they extend
+ /// different descriptor messages.
+ ///
+ public static readonly pb::Extension Openapiv2Swagger =
+ new pb::Extension(1042, pb::FieldCodec.ForMessage(8338, global::Grpc.Gateway.ProtocGenSwagger.Options.Swagger.Parser));
+ ///
+ /// ID assigned by protobuf-global-extension-registry@google.com for grpc-gateway project.
+ ///
+ /// All IDs are the same, as assigned. It is okay that they are the same, as they extend
+ /// different descriptor messages.
+ ///
+ public static readonly pb::Extension Openapiv2Operation =
+ new pb::Extension(1042, pb::FieldCodec.ForMessage(8338, global::Grpc.Gateway.ProtocGenSwagger.Options.Operation.Parser));
+ ///
+ /// ID assigned by protobuf-global-extension-registry@google.com for grpc-gateway project.
+ ///
+ /// All IDs are the same, as assigned. It is okay that they are the same, as they extend
+ /// different descriptor messages.
+ ///
+ public static readonly pb::Extension Openapiv2Schema =
+ new pb::Extension(1042, pb::FieldCodec.ForMessage(8338, global::Grpc.Gateway.ProtocGenSwagger.Options.Schema.Parser));
+ ///
+ /// ID assigned by protobuf-global-extension-registry@google.com for grpc-gateway project.
+ ///
+ /// All IDs are the same, as assigned. It is okay that they are the same, as they extend
+ /// different descriptor messages.
+ ///
+ public static readonly pb::Extension Openapiv2Tag =
+ new pb::Extension(1042, pb::FieldCodec.ForMessage(8338, global::Grpc.Gateway.ProtocGenSwagger.Options.Tag.Parser));
+ ///
+ /// ID assigned by protobuf-global-extension-registry@google.com for grpc-gateway project.
+ ///
+ /// All IDs are the same, as assigned. It is okay that they are the same, as they extend
+ /// different descriptor messages.
+ ///
+ public static readonly pb::Extension Openapiv2Field =
+ new pb::Extension(1042, pb::FieldCodec.ForMessage(8338, global::Grpc.Gateway.ProtocGenSwagger.Options.JSONSchema.Parser));
+ }
+
+}
+
+#endregion Designer generated code
diff --git a/src/Communication/Jaeger.Communication.Grpc/Grpc/Gateway/ProtocGenSwagger/Options/Openapiv2.cs b/src/Communication/Jaeger.Communication.Grpc/Grpc/Gateway/ProtocGenSwagger/Options/Openapiv2.cs
new file mode 100644
index 000000000..9a2cec078
--- /dev/null
+++ b/src/Communication/Jaeger.Communication.Grpc/Grpc/Gateway/ProtocGenSwagger/Options/Openapiv2.cs
@@ -0,0 +1,4187 @@
+//
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: protoc-gen-swagger/options/openapiv2.proto
+//
+#pragma warning disable 1591, 0612, 3021
+#region Designer generated code
+
+using pb = global::Google.Protobuf;
+using pbc = global::Google.Protobuf.Collections;
+using pbr = global::Google.Protobuf.Reflection;
+using scg = global::System.Collections.Generic;
+namespace Grpc.Gateway.ProtocGenSwagger.Options {
+
+ /// Holder for reflection information generated from protoc-gen-swagger/options/openapiv2.proto
+ internal static partial class Openapiv2Reflection {
+
+ #region Descriptor
+ /// File descriptor for protoc-gen-swagger/options/openapiv2.proto
+ public static pbr::FileDescriptor Descriptor {
+ get { return descriptor; }
+ }
+ private static pbr::FileDescriptor descriptor;
+
+ static Openapiv2Reflection() {
+ byte[] descriptorData = global::System.Convert.FromBase64String(
+ string.Concat(
+ "Cipwcm90b2MtZ2VuLXN3YWdnZXIvb3B0aW9ucy9vcGVuYXBpdjIucHJvdG8S",
+ "J2dycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdnZXIub3B0aW9ucxoZZ29v",
+ "Z2xlL3Byb3RvYnVmL2FueS5wcm90bxocZ29vZ2xlL3Byb3RvYnVmL3N0cnVj",
+ "dC5wcm90byKgBwoHU3dhZ2dlchIPCgdzd2FnZ2VyGAEgASgJEjsKBGluZm8Y",
+ "AiABKAsyLS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9zd2FnZ2VyLm9wdGlv",
+ "bnMuSW5mbxIMCgRob3N0GAMgASgJEhEKCWJhc2VfcGF0aBgEIAEoCRJPCgdz",
+ "Y2hlbWVzGAUgAygOMj4uZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fc3dhZ2dl",
+ "ci5vcHRpb25zLlN3YWdnZXIuU3dhZ2dlclNjaGVtZRIQCghjb25zdW1lcxgG",
+ "IAMoCRIQCghwcm9kdWNlcxgHIAMoCRJSCglyZXNwb25zZXMYCiADKAsyPy5n",
+ "cnBjLmdhdGV3YXkucHJvdG9jX2dlbl9zd2FnZ2VyLm9wdGlvbnMuU3dhZ2dl",
+ "ci5SZXNwb25zZXNFbnRyeRJaChRzZWN1cml0eV9kZWZpbml0aW9ucxgLIAEo",
+ "CzI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdnZXIub3B0aW9ucy5T",
+ "ZWN1cml0eURlZmluaXRpb25zEk4KCHNlY3VyaXR5GAwgAygLMjwuZ3JwYy5n",
+ "YXRld2F5LnByb3RvY19nZW5fc3dhZ2dlci5vcHRpb25zLlNlY3VyaXR5UmVx",
+ "dWlyZW1lbnQSVQoNZXh0ZXJuYWxfZG9jcxgOIAEoCzI+LmdycGMuZ2F0ZXdh",
+ "eS5wcm90b2NfZ2VuX3N3YWdnZXIub3B0aW9ucy5FeHRlcm5hbERvY3VtZW50",
+ "YXRpb24SVAoKZXh0ZW5zaW9ucxgPIAMoCzJALmdycGMuZ2F0ZXdheS5wcm90",
+ "b2NfZ2VuX3N3YWdnZXIub3B0aW9ucy5Td2FnZ2VyLkV4dGVuc2lvbnNFbnRy",
+ "eRpjCg5SZXNwb25zZXNFbnRyeRILCgNrZXkYASABKAkSQAoFdmFsdWUYAiAB",
+ "KAsyMS5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9zd2FnZ2VyLm9wdGlvbnMu",
+ "UmVzcG9uc2U6AjgBGkkKD0V4dGVuc2lvbnNFbnRyeRILCgNrZXkYASABKAkS",
+ "JQoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWU6AjgBIkIK",
+ "DVN3YWdnZXJTY2hlbWUSCwoHVU5LTk9XThAAEggKBEhUVFAQARIJCgVIVFRQ",
+ "UxACEgYKAldTEAMSBwoDV1NTEARKBAgIEAlKBAgJEApKBAgNEA4iqQUKCU9w",
+ "ZXJhdGlvbhIMCgR0YWdzGAEgAygJEg8KB3N1bW1hcnkYAiABKAkSEwoLZGVz",
+ "Y3JpcHRpb24YAyABKAkSVQoNZXh0ZXJuYWxfZG9jcxgEIAEoCzI+LmdycGMu",
+ "Z2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdnZXIub3B0aW9ucy5FeHRlcm5hbERv",
+ "Y3VtZW50YXRpb24SFAoMb3BlcmF0aW9uX2lkGAUgASgJEhAKCGNvbnN1bWVz",
+ "GAYgAygJEhAKCHByb2R1Y2VzGAcgAygJElQKCXJlc3BvbnNlcxgJIAMoCzJB",
+ "LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdnZXIub3B0aW9ucy5PcGVy",
+ "YXRpb24uUmVzcG9uc2VzRW50cnkSDwoHc2NoZW1lcxgKIAMoCRISCgpkZXBy",
+ "ZWNhdGVkGAsgASgIEk4KCHNlY3VyaXR5GAwgAygLMjwuZ3JwYy5nYXRld2F5",
+ "LnByb3RvY19nZW5fc3dhZ2dlci5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1l",
+ "bnQSVgoKZXh0ZW5zaW9ucxgNIAMoCzJCLmdycGMuZ2F0ZXdheS5wcm90b2Nf",
+ "Z2VuX3N3YWdnZXIub3B0aW9ucy5PcGVyYXRpb24uRXh0ZW5zaW9uc0VudHJ5",
+ "GmMKDlJlc3BvbnNlc0VudHJ5EgsKA2tleRgBIAEoCRJACgV2YWx1ZRgCIAEo",
+ "CzIxLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdnZXIub3B0aW9ucy5S",
+ "ZXNwb25zZToCOAEaSQoPRXh0ZW5zaW9uc0VudHJ5EgsKA2tleRgBIAEoCRIl",
+ "CgV2YWx1ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAFKBAgI",
+ "EAkijAMKCFJlc3BvbnNlEhMKC2Rlc2NyaXB0aW9uGAEgASgJEj8KBnNjaGVt",
+ "YRgCIAEoCzIvLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdnZXIub3B0",
+ "aW9ucy5TY2hlbWESUQoIZXhhbXBsZXMYBCADKAsyPy5ncnBjLmdhdGV3YXku",
+ "cHJvdG9jX2dlbl9zd2FnZ2VyLm9wdGlvbnMuUmVzcG9uc2UuRXhhbXBsZXNF",
+ "bnRyeRJVCgpleHRlbnNpb25zGAUgAygLMkEuZ3JwYy5nYXRld2F5LnByb3Rv",
+ "Y19nZW5fc3dhZ2dlci5vcHRpb25zLlJlc3BvbnNlLkV4dGVuc2lvbnNFbnRy",
+ "eRovCg1FeGFtcGxlc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEo",
+ "CToCOAEaSQoPRXh0ZW5zaW9uc0VudHJ5EgsKA2tleRgBIAEoCRIlCgV2YWx1",
+ "ZRgCIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZToCOAFKBAgDEAQi+QIK",
+ "BEluZm8SDQoFdGl0bGUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSGAoQ",
+ "dGVybXNfb2Zfc2VydmljZRgDIAEoCRJBCgdjb250YWN0GAQgASgLMjAuZ3Jw",
+ "Yy5nYXRld2F5LnByb3RvY19nZW5fc3dhZ2dlci5vcHRpb25zLkNvbnRhY3QS",
+ "QQoHbGljZW5zZRgFIAEoCzIwLmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3",
+ "YWdnZXIub3B0aW9ucy5MaWNlbnNlEg8KB3ZlcnNpb24YBiABKAkSUQoKZXh0",
+ "ZW5zaW9ucxgHIAMoCzI9LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdn",
+ "ZXIub3B0aW9ucy5JbmZvLkV4dGVuc2lvbnNFbnRyeRpJCg9FeHRlbnNpb25z",
+ "RW50cnkSCwoDa2V5GAEgASgJEiUKBXZhbHVlGAIgASgLMhYuZ29vZ2xlLnBy",
+ "b3RvYnVmLlZhbHVlOgI4ASIzCgdDb250YWN0EgwKBG5hbWUYASABKAkSCwoD",
+ "dXJsGAIgASgJEg0KBWVtYWlsGAMgASgJIiQKB0xpY2Vuc2USDAoEbmFtZRgB",
+ "IAEoCRILCgN1cmwYAiABKAkiOQoVRXh0ZXJuYWxEb2N1bWVudGF0aW9uEhMK",
+ "C2Rlc2NyaXB0aW9uGAEgASgJEgsKA3VybBgCIAEoCSKAAgoGU2NoZW1hEkgK",
+ "C2pzb25fc2NoZW1hGAEgASgLMjMuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5f",
+ "c3dhZ2dlci5vcHRpb25zLkpTT05TY2hlbWESFQoNZGlzY3JpbWluYXRvchgC",
+ "IAEoCRIRCglyZWFkX29ubHkYAyABKAgSVQoNZXh0ZXJuYWxfZG9jcxgFIAEo",
+ "CzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdnZXIub3B0aW9ucy5F",
+ "eHRlcm5hbERvY3VtZW50YXRpb24SJQoHZXhhbXBsZRgGIAEoCzIULmdvb2ds",
+ "ZS5wcm90b2J1Zi5BbnlKBAgEEAUiugUKCkpTT05TY2hlbWESCwoDcmVmGAMg",
+ "ASgJEg0KBXRpdGxlGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEg8KB2Rl",
+ "ZmF1bHQYByABKAkSEQoJcmVhZF9vbmx5GAggASgIEhMKC211bHRpcGxlX29m",
+ "GAogASgBEg8KB21heGltdW0YCyABKAESGQoRZXhjbHVzaXZlX21heGltdW0Y",
+ "DCABKAgSDwoHbWluaW11bRgNIAEoARIZChFleGNsdXNpdmVfbWluaW11bRgO",
+ "IAEoCBISCgptYXhfbGVuZ3RoGA8gASgEEhIKCm1pbl9sZW5ndGgYECABKAQS",
+ "DwoHcGF0dGVybhgRIAEoCRIRCgltYXhfaXRlbXMYFCABKAQSEQoJbWluX2l0",
+ "ZW1zGBUgASgEEhQKDHVuaXF1ZV9pdGVtcxgWIAEoCBIWCg5tYXhfcHJvcGVy",
+ "dGllcxgYIAEoBBIWCg5taW5fcHJvcGVydGllcxgZIAEoBBIQCghyZXF1aXJl",
+ "ZBgaIAMoCRINCgVhcnJheRgiIAMoCRJXCgR0eXBlGCMgAygOMkkuZ3JwYy5n",
+ "YXRld2F5LnByb3RvY19nZW5fc3dhZ2dlci5vcHRpb25zLkpTT05TY2hlbWEu",
+ "SlNPTlNjaGVtYVNpbXBsZVR5cGVzIncKFUpTT05TY2hlbWFTaW1wbGVUeXBl",
+ "cxILCgdVTktOT1dOEAASCQoFQVJSQVkQARILCgdCT09MRUFOEAISCwoHSU5U",
+ "RUdFUhADEggKBE5VTEwQBBIKCgZOVU1CRVIQBRIKCgZPQkpFQ1QQBhIKCgZT",
+ "VFJJTkcQB0oECAEQAkoECAIQA0oECAQQBUoECAkQCkoECBIQE0oECBMQFEoE",
+ "CBcQGEoECBsQHEoECBwQHUoECB0QHkoECB4QIkoECCQQKkoECCoQK0oECCsQ",
+ "LiJ3CgNUYWcSEwoLZGVzY3JpcHRpb24YAiABKAkSVQoNZXh0ZXJuYWxfZG9j",
+ "cxgDIAEoCzI+LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2VuX3N3YWdnZXIub3B0",
+ "aW9ucy5FeHRlcm5hbERvY3VtZW50YXRpb25KBAgBEAIi3QEKE1NlY3VyaXR5",
+ "RGVmaW5pdGlvbnMSXAoIc2VjdXJpdHkYASADKAsySi5ncnBjLmdhdGV3YXku",
+ "cHJvdG9jX2dlbl9zd2FnZ2VyLm9wdGlvbnMuU2VjdXJpdHlEZWZpbml0aW9u",
+ "cy5TZWN1cml0eUVudHJ5GmgKDVNlY3VyaXR5RW50cnkSCwoDa2V5GAEgASgJ",
+ "EkYKBXZhbHVlGAIgASgLMjcuZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fc3dh",
+ "Z2dlci5vcHRpb25zLlNlY3VyaXR5U2NoZW1lOgI4ASKWBgoOU2VjdXJpdHlT",
+ "Y2hlbWUSSgoEdHlwZRgBIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2NfZ2Vu",
+ "X3N3YWdnZXIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5UeXBlEhMKC2Rlc2Ny",
+ "aXB0aW9uGAIgASgJEgwKBG5hbWUYAyABKAkSRgoCaW4YBCABKA4yOi5ncnBj",
+ "LmdhdGV3YXkucHJvdG9jX2dlbl9zd2FnZ2VyLm9wdGlvbnMuU2VjdXJpdHlT",
+ "Y2hlbWUuSW4SSgoEZmxvdxgFIAEoDjI8LmdycGMuZ2F0ZXdheS5wcm90b2Nf",
+ "Z2VuX3N3YWdnZXIub3B0aW9ucy5TZWN1cml0eVNjaGVtZS5GbG93EhkKEWF1",
+ "dGhvcml6YXRpb25fdXJsGAYgASgJEhEKCXRva2VuX3VybBgHIAEoCRI/CgZz",
+ "Y29wZXMYCCABKAsyLy5ncnBjLmdhdGV3YXkucHJvdG9jX2dlbl9zd2FnZ2Vy",
+ "Lm9wdGlvbnMuU2NvcGVzElsKCmV4dGVuc2lvbnMYCSADKAsyRy5ncnBjLmdh",
+ "dGV3YXkucHJvdG9jX2dlbl9zd2FnZ2VyLm9wdGlvbnMuU2VjdXJpdHlTY2hl",
+ "bWUuRXh0ZW5zaW9uc0VudHJ5GkkKD0V4dGVuc2lvbnNFbnRyeRILCgNrZXkY",
+ "ASABKAkSJQoFdmFsdWUYAiABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWU6",
+ "AjgBIksKBFR5cGUSEAoMVFlQRV9JTlZBTElEEAASDgoKVFlQRV9CQVNJQxAB",
+ "EhAKDFRZUEVfQVBJX0tFWRACEg8KC1RZUEVfT0FVVEgyEAMiMQoCSW4SDgoK",
+ "SU5fSU5WQUxJRBAAEgwKCElOX1FVRVJZEAESDQoJSU5fSEVBREVSEAIiagoE",
+ "RmxvdxIQCgxGTE9XX0lOVkFMSUQQABIRCg1GTE9XX0lNUExJQ0lUEAESEQoN",
+ "RkxPV19QQVNTV09SRBACEhQKEEZMT1dfQVBQTElDQVRJT04QAxIUChBGTE9X",
+ "X0FDQ0VTU19DT0RFEAQiyQIKE1NlY3VyaXR5UmVxdWlyZW1lbnQScwoUc2Vj",
+ "dXJpdHlfcmVxdWlyZW1lbnQYASADKAsyVS5ncnBjLmdhdGV3YXkucHJvdG9j",
+ "X2dlbl9zd2FnZ2VyLm9wdGlvbnMuU2VjdXJpdHlSZXF1aXJlbWVudC5TZWN1",
+ "cml0eVJlcXVpcmVtZW50RW50cnkaKQoYU2VjdXJpdHlSZXF1aXJlbWVudFZh",
+ "bHVlEg0KBXNjb3BlGAEgAygJGpEBChhTZWN1cml0eVJlcXVpcmVtZW50RW50",
+ "cnkSCwoDa2V5GAEgASgJEmQKBXZhbHVlGAIgASgLMlUuZ3JwYy5nYXRld2F5",
+ "LnByb3RvY19nZW5fc3dhZ2dlci5vcHRpb25zLlNlY3VyaXR5UmVxdWlyZW1l",
+ "bnQuU2VjdXJpdHlSZXF1aXJlbWVudFZhbHVlOgI4ASKBAQoGU2NvcGVzEkkK",
+ "BXNjb3BlGAEgAygLMjouZ3JwYy5nYXRld2F5LnByb3RvY19nZW5fc3dhZ2dl",
+ "ci5vcHRpb25zLlNjb3Blcy5TY29wZUVudHJ5GiwKClNjb3BlRW50cnkSCwoD",
+ "a2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4AUJDWkFnaXRodWIuY29tL2dy",
+ "cGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheS9wcm90b2MtZ2VuLXN3YWdnZXIv",
+ "b3B0aW9uc2IGcHJvdG8z"));
+ descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
+ new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.AnyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.StructReflection.Descriptor, },
+ new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.Swagger), global::Grpc.Gateway.ProtocGenSwagger.Options.Swagger.Parser, new[]{ "Swagger_", "Info", "Host", "BasePath", "Schemes", "Consumes", "Produces", "Responses", "SecurityDefinitions", "Security", "ExternalDocs", "Extensions" }, null, new[]{ typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.Swagger.Types.SwaggerScheme) }, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.Operation), global::Grpc.Gateway.ProtocGenSwagger.Options.Operation.Parser, new[]{ "Tags", "Summary", "Description", "ExternalDocs", "OperationId", "Consumes", "Produces", "Responses", "Schemes", "Deprecated", "Security", "Extensions" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.Response), global::Grpc.Gateway.ProtocGenSwagger.Options.Response.Parser, new[]{ "Description", "Schema", "Examples", "Extensions" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, null, }),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.Info), global::Grpc.Gateway.ProtocGenSwagger.Options.Info.Parser, new[]{ "Title", "Description", "TermsOfService", "Contact", "License", "Version", "Extensions" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.Contact), global::Grpc.Gateway.ProtocGenSwagger.Options.Contact.Parser, new[]{ "Name", "Url", "Email" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.License), global::Grpc.Gateway.ProtocGenSwagger.Options.License.Parser, new[]{ "Name", "Url" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.ExternalDocumentation), global::Grpc.Gateway.ProtocGenSwagger.Options.ExternalDocumentation.Parser, new[]{ "Description", "Url" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.Schema), global::Grpc.Gateway.ProtocGenSwagger.Options.Schema.Parser, new[]{ "JsonSchema", "Discriminator", "ReadOnly", "ExternalDocs", "Example" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.JSONSchema), global::Grpc.Gateway.ProtocGenSwagger.Options.JSONSchema.Parser, new[]{ "Ref", "Title", "Description", "Default", "ReadOnly", "MultipleOf", "Maximum", "ExclusiveMaximum", "Minimum", "ExclusiveMinimum", "MaxLength", "MinLength", "Pattern", "MaxItems", "MinItems", "UniqueItems", "MaxProperties", "MinProperties", "Required", "Array", "Type" }, null, new[]{ typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.JSONSchema.Types.JSONSchemaSimpleTypes) }, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.Tag), global::Grpc.Gateway.ProtocGenSwagger.Options.Tag.Parser, new[]{ "Description", "ExternalDocs" }, null, null, null, null),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityDefinitions), global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityDefinitions.Parser, new[]{ "Security" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityScheme), global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityScheme.Parser, new[]{ "Type", "Description", "Name", "In", "Flow", "AuthorizationUrl", "TokenUrl", "Scopes", "Extensions" }, null, new[]{ typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityScheme.Types.Type), typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityScheme.Types.In), typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityScheme.Types.Flow) }, null, new pbr::GeneratedClrTypeInfo[] { null, }),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityRequirement), global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityRequirement.Parser, new[]{ "SecurityRequirement_" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityRequirement.Types.SecurityRequirementValue), global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityRequirement.Types.SecurityRequirementValue.Parser, new[]{ "Scope" }, null, null, null, null),
+ null, }),
+ new pbr::GeneratedClrTypeInfo(typeof(global::Grpc.Gateway.ProtocGenSwagger.Options.Scopes), global::Grpc.Gateway.ProtocGenSwagger.Options.Scopes.Parser, new[]{ "Scope" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, })
+ }));
+ }
+ #endregion
+
+ }
+ #region Messages
+ ///
+ /// `Swagger` is a representation of OpenAPI v2 specification's Swagger object.
+ ///
+ /// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#swaggerObject
+ ///
+ /// TODO(ivucica): document fields
+ ///
+ internal sealed partial class Swagger : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Swagger());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Grpc.Gateway.ProtocGenSwagger.Options.Openapiv2Reflection.Descriptor.MessageTypes[0]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Swagger() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Swagger(Swagger other) : this() {
+ swagger_ = other.swagger_;
+ info_ = other.info_ != null ? other.info_.Clone() : null;
+ host_ = other.host_;
+ basePath_ = other.basePath_;
+ schemes_ = other.schemes_.Clone();
+ consumes_ = other.consumes_.Clone();
+ produces_ = other.produces_.Clone();
+ responses_ = other.responses_.Clone();
+ securityDefinitions_ = other.securityDefinitions_ != null ? other.securityDefinitions_.Clone() : null;
+ security_ = other.security_.Clone();
+ externalDocs_ = other.externalDocs_ != null ? other.externalDocs_.Clone() : null;
+ extensions_ = other.extensions_.Clone();
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Swagger Clone() {
+ return new Swagger(this);
+ }
+
+ /// Field number for the "swagger" field.
+ public const int Swagger_FieldNumber = 1;
+ private string swagger_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Swagger_ {
+ get { return swagger_; }
+ set {
+ swagger_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "info" field.
+ public const int InfoFieldNumber = 2;
+ private global::Grpc.Gateway.ProtocGenSwagger.Options.Info info_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Grpc.Gateway.ProtocGenSwagger.Options.Info Info {
+ get { return info_; }
+ set {
+ info_ = value;
+ }
+ }
+
+ /// Field number for the "host" field.
+ public const int HostFieldNumber = 3;
+ private string host_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Host {
+ get { return host_; }
+ set {
+ host_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "base_path" field.
+ public const int BasePathFieldNumber = 4;
+ private string basePath_ = "";
+ ///
+ /// `base_path` is the common prefix path used on all API endpoints (ie. /api, /v1, etc.). By adding this,
+ /// it allows you to remove this portion from the path endpoints in your Swagger file making them easier
+ /// to read. Note that using `base_path` does not change the endpoint paths that are generated in the resulting
+ /// Swagger file. If you wish to use `base_path` with relatively generated Swagger paths, the
+ /// `base_path` prefix must be manually removed from your `google.api.http` paths and your code changed to
+ /// serve the API from the `base_path`.
+ ///
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string BasePath {
+ get { return basePath_; }
+ set {
+ basePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "schemes" field.
+ public const int SchemesFieldNumber = 5;
+ private static readonly pb::FieldCodec _repeated_schemes_codec
+ = pb::FieldCodec.ForEnum(42, x => (int) x, x => (global::Grpc.Gateway.ProtocGenSwagger.Options.Swagger.Types.SwaggerScheme) x);
+ private readonly pbc::RepeatedField schemes_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Schemes {
+ get { return schemes_; }
+ }
+
+ /// Field number for the "consumes" field.
+ public const int ConsumesFieldNumber = 6;
+ private static readonly pb::FieldCodec _repeated_consumes_codec
+ = pb::FieldCodec.ForString(50);
+ private readonly pbc::RepeatedField consumes_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Consumes {
+ get { return consumes_; }
+ }
+
+ /// Field number for the "produces" field.
+ public const int ProducesFieldNumber = 7;
+ private static readonly pb::FieldCodec _repeated_produces_codec
+ = pb::FieldCodec.ForString(58);
+ private readonly pbc::RepeatedField produces_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Produces {
+ get { return produces_; }
+ }
+
+ /// Field number for the "responses" field.
+ public const int ResponsesFieldNumber = 10;
+ private static readonly pbc::MapField.Codec _map_responses_codec
+ = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Grpc.Gateway.ProtocGenSwagger.Options.Response.Parser), 82);
+ private readonly pbc::MapField responses_ = new pbc::MapField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::MapField Responses {
+ get { return responses_; }
+ }
+
+ /// Field number for the "security_definitions" field.
+ public const int SecurityDefinitionsFieldNumber = 11;
+ private global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityDefinitions securityDefinitions_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityDefinitions SecurityDefinitions {
+ get { return securityDefinitions_; }
+ set {
+ securityDefinitions_ = value;
+ }
+ }
+
+ /// Field number for the "security" field.
+ public const int SecurityFieldNumber = 12;
+ private static readonly pb::FieldCodec _repeated_security_codec
+ = pb::FieldCodec.ForMessage(98, global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityRequirement.Parser);
+ private readonly pbc::RepeatedField security_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Security {
+ get { return security_; }
+ }
+
+ /// Field number for the "external_docs" field.
+ public const int ExternalDocsFieldNumber = 14;
+ private global::Grpc.Gateway.ProtocGenSwagger.Options.ExternalDocumentation externalDocs_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Grpc.Gateway.ProtocGenSwagger.Options.ExternalDocumentation ExternalDocs {
+ get { return externalDocs_; }
+ set {
+ externalDocs_ = value;
+ }
+ }
+
+ /// Field number for the "extensions" field.
+ public const int ExtensionsFieldNumber = 15;
+ private static readonly pbc::MapField.Codec _map_extensions_codec
+ = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.WellKnownTypes.Value.Parser), 122);
+ private readonly pbc::MapField extensions_ = new pbc::MapField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::MapField Extensions {
+ get { return extensions_; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override bool Equals(object other) {
+ return Equals(other as Swagger);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Equals(Swagger other) {
+ if (ReferenceEquals(other, null)) {
+ return false;
+ }
+ if (ReferenceEquals(other, this)) {
+ return true;
+ }
+ if (Swagger_ != other.Swagger_) return false;
+ if (!object.Equals(Info, other.Info)) return false;
+ if (Host != other.Host) return false;
+ if (BasePath != other.BasePath) return false;
+ if(!schemes_.Equals(other.schemes_)) return false;
+ if(!consumes_.Equals(other.consumes_)) return false;
+ if(!produces_.Equals(other.produces_)) return false;
+ if (!Responses.Equals(other.Responses)) return false;
+ if (!object.Equals(SecurityDefinitions, other.SecurityDefinitions)) return false;
+ if(!security_.Equals(other.security_)) return false;
+ if (!object.Equals(ExternalDocs, other.ExternalDocs)) return false;
+ if (!Extensions.Equals(other.Extensions)) return false;
+ return Equals(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override int GetHashCode() {
+ int hash = 1;
+ if (Swagger_.Length != 0) hash ^= Swagger_.GetHashCode();
+ if (info_ != null) hash ^= Info.GetHashCode();
+ if (Host.Length != 0) hash ^= Host.GetHashCode();
+ if (BasePath.Length != 0) hash ^= BasePath.GetHashCode();
+ hash ^= schemes_.GetHashCode();
+ hash ^= consumes_.GetHashCode();
+ hash ^= produces_.GetHashCode();
+ hash ^= Responses.GetHashCode();
+ if (securityDefinitions_ != null) hash ^= SecurityDefinitions.GetHashCode();
+ hash ^= security_.GetHashCode();
+ if (externalDocs_ != null) hash ^= ExternalDocs.GetHashCode();
+ hash ^= Extensions.GetHashCode();
+ if (_unknownFields != null) {
+ hash ^= _unknownFields.GetHashCode();
+ }
+ return hash;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public override string ToString() {
+ return pb::JsonFormatter.ToDiagnosticString(this);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void WriteTo(pb::CodedOutputStream output) {
+ if (Swagger_.Length != 0) {
+ output.WriteRawTag(10);
+ output.WriteString(Swagger_);
+ }
+ if (info_ != null) {
+ output.WriteRawTag(18);
+ output.WriteMessage(Info);
+ }
+ if (Host.Length != 0) {
+ output.WriteRawTag(26);
+ output.WriteString(Host);
+ }
+ if (BasePath.Length != 0) {
+ output.WriteRawTag(34);
+ output.WriteString(BasePath);
+ }
+ schemes_.WriteTo(output, _repeated_schemes_codec);
+ consumes_.WriteTo(output, _repeated_consumes_codec);
+ produces_.WriteTo(output, _repeated_produces_codec);
+ responses_.WriteTo(output, _map_responses_codec);
+ if (securityDefinitions_ != null) {
+ output.WriteRawTag(90);
+ output.WriteMessage(SecurityDefinitions);
+ }
+ security_.WriteTo(output, _repeated_security_codec);
+ if (externalDocs_ != null) {
+ output.WriteRawTag(114);
+ output.WriteMessage(ExternalDocs);
+ }
+ extensions_.WriteTo(output, _map_extensions_codec);
+ if (_unknownFields != null) {
+ _unknownFields.WriteTo(output);
+ }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public int CalculateSize() {
+ int size = 0;
+ if (Swagger_.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Swagger_);
+ }
+ if (info_ != null) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(Info);
+ }
+ if (Host.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Host);
+ }
+ if (BasePath.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(BasePath);
+ }
+ size += schemes_.CalculateSize(_repeated_schemes_codec);
+ size += consumes_.CalculateSize(_repeated_consumes_codec);
+ size += produces_.CalculateSize(_repeated_produces_codec);
+ size += responses_.CalculateSize(_map_responses_codec);
+ if (securityDefinitions_ != null) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(SecurityDefinitions);
+ }
+ size += security_.CalculateSize(_repeated_security_codec);
+ if (externalDocs_ != null) {
+ size += 1 + pb::CodedOutputStream.ComputeMessageSize(ExternalDocs);
+ }
+ size += extensions_.CalculateSize(_map_extensions_codec);
+ if (_unknownFields != null) {
+ size += _unknownFields.CalculateSize();
+ }
+ return size;
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(Swagger other) {
+ if (other == null) {
+ return;
+ }
+ if (other.Swagger_.Length != 0) {
+ Swagger_ = other.Swagger_;
+ }
+ if (other.info_ != null) {
+ if (info_ == null) {
+ Info = new global::Grpc.Gateway.ProtocGenSwagger.Options.Info();
+ }
+ Info.MergeFrom(other.Info);
+ }
+ if (other.Host.Length != 0) {
+ Host = other.Host;
+ }
+ if (other.BasePath.Length != 0) {
+ BasePath = other.BasePath;
+ }
+ schemes_.Add(other.schemes_);
+ consumes_.Add(other.consumes_);
+ produces_.Add(other.produces_);
+ responses_.Add(other.responses_);
+ if (other.securityDefinitions_ != null) {
+ if (securityDefinitions_ == null) {
+ SecurityDefinitions = new global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityDefinitions();
+ }
+ SecurityDefinitions.MergeFrom(other.SecurityDefinitions);
+ }
+ security_.Add(other.security_);
+ if (other.externalDocs_ != null) {
+ if (externalDocs_ == null) {
+ ExternalDocs = new global::Grpc.Gateway.ProtocGenSwagger.Options.ExternalDocumentation();
+ }
+ ExternalDocs.MergeFrom(other.ExternalDocs);
+ }
+ extensions_.Add(other.extensions_);
+ _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public void MergeFrom(pb::CodedInputStream input) {
+ uint tag;
+ while ((tag = input.ReadTag()) != 0) {
+ switch(tag) {
+ default:
+ _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
+ break;
+ case 10: {
+ Swagger_ = input.ReadString();
+ break;
+ }
+ case 18: {
+ if (info_ == null) {
+ Info = new global::Grpc.Gateway.ProtocGenSwagger.Options.Info();
+ }
+ input.ReadMessage(Info);
+ break;
+ }
+ case 26: {
+ Host = input.ReadString();
+ break;
+ }
+ case 34: {
+ BasePath = input.ReadString();
+ break;
+ }
+ case 42:
+ case 40: {
+ schemes_.AddEntriesFrom(input, _repeated_schemes_codec);
+ break;
+ }
+ case 50: {
+ consumes_.AddEntriesFrom(input, _repeated_consumes_codec);
+ break;
+ }
+ case 58: {
+ produces_.AddEntriesFrom(input, _repeated_produces_codec);
+ break;
+ }
+ case 82: {
+ responses_.AddEntriesFrom(input, _map_responses_codec);
+ break;
+ }
+ case 90: {
+ if (securityDefinitions_ == null) {
+ SecurityDefinitions = new global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityDefinitions();
+ }
+ input.ReadMessage(SecurityDefinitions);
+ break;
+ }
+ case 98: {
+ security_.AddEntriesFrom(input, _repeated_security_codec);
+ break;
+ }
+ case 114: {
+ if (externalDocs_ == null) {
+ ExternalDocs = new global::Grpc.Gateway.ProtocGenSwagger.Options.ExternalDocumentation();
+ }
+ input.ReadMessage(ExternalDocs);
+ break;
+ }
+ case 122: {
+ extensions_.AddEntriesFrom(input, _map_extensions_codec);
+ break;
+ }
+ }
+ }
+ }
+
+ #region Nested types
+ /// Container for nested types declared in the Swagger message type.
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static partial class Types {
+ internal enum SwaggerScheme {
+ [pbr::OriginalName("UNKNOWN")] Unknown = 0,
+ [pbr::OriginalName("HTTP")] Http = 1,
+ [pbr::OriginalName("HTTPS")] Https = 2,
+ [pbr::OriginalName("WS")] Ws = 3,
+ [pbr::OriginalName("WSS")] Wss = 4,
+ }
+
+ }
+ #endregion
+
+ }
+
+ ///
+ /// `Operation` is a representation of OpenAPI v2 specification's Operation object.
+ ///
+ /// See: https://github.com/OAI/OpenAPI-Specification/blob/3.0.0/versions/2.0.md#operationObject
+ ///
+ /// TODO(ivucica): document fields
+ ///
+ internal sealed partial class Operation : pb::IMessage {
+ private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new Operation());
+ private pb::UnknownFieldSet _unknownFields;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pb::MessageParser Parser { get { return _parser; } }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public static pbr::MessageDescriptor Descriptor {
+ get { return global::Grpc.Gateway.ProtocGenSwagger.Options.Openapiv2Reflection.Descriptor.MessageTypes[1]; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ pbr::MessageDescriptor pb::IMessage.Descriptor {
+ get { return Descriptor; }
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Operation() {
+ OnConstruction();
+ }
+
+ partial void OnConstruction();
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Operation(Operation other) : this() {
+ tags_ = other.tags_.Clone();
+ summary_ = other.summary_;
+ description_ = other.description_;
+ externalDocs_ = other.externalDocs_ != null ? other.externalDocs_.Clone() : null;
+ operationId_ = other.operationId_;
+ consumes_ = other.consumes_.Clone();
+ produces_ = other.produces_.Clone();
+ responses_ = other.responses_.Clone();
+ schemes_ = other.schemes_.Clone();
+ deprecated_ = other.deprecated_;
+ security_ = other.security_.Clone();
+ extensions_ = other.extensions_.Clone();
+ _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
+ }
+
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public Operation Clone() {
+ return new Operation(this);
+ }
+
+ /// Field number for the "tags" field.
+ public const int TagsFieldNumber = 1;
+ private static readonly pb::FieldCodec _repeated_tags_codec
+ = pb::FieldCodec.ForString(10);
+ private readonly pbc::RepeatedField tags_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Tags {
+ get { return tags_; }
+ }
+
+ /// Field number for the "summary" field.
+ public const int SummaryFieldNumber = 2;
+ private string summary_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Summary {
+ get { return summary_; }
+ set {
+ summary_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "description" field.
+ public const int DescriptionFieldNumber = 3;
+ private string description_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string Description {
+ get { return description_; }
+ set {
+ description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "external_docs" field.
+ public const int ExternalDocsFieldNumber = 4;
+ private global::Grpc.Gateway.ProtocGenSwagger.Options.ExternalDocumentation externalDocs_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public global::Grpc.Gateway.ProtocGenSwagger.Options.ExternalDocumentation ExternalDocs {
+ get { return externalDocs_; }
+ set {
+ externalDocs_ = value;
+ }
+ }
+
+ /// Field number for the "operation_id" field.
+ public const int OperationIdFieldNumber = 5;
+ private string operationId_ = "";
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public string OperationId {
+ get { return operationId_; }
+ set {
+ operationId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ }
+ }
+
+ /// Field number for the "consumes" field.
+ public const int ConsumesFieldNumber = 6;
+ private static readonly pb::FieldCodec _repeated_consumes_codec
+ = pb::FieldCodec.ForString(50);
+ private readonly pbc::RepeatedField consumes_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Consumes {
+ get { return consumes_; }
+ }
+
+ /// Field number for the "produces" field.
+ public const int ProducesFieldNumber = 7;
+ private static readonly pb::FieldCodec _repeated_produces_codec
+ = pb::FieldCodec.ForString(58);
+ private readonly pbc::RepeatedField produces_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Produces {
+ get { return produces_; }
+ }
+
+ /// Field number for the "responses" field.
+ public const int ResponsesFieldNumber = 9;
+ private static readonly pbc::MapField.Codec _map_responses_codec
+ = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Grpc.Gateway.ProtocGenSwagger.Options.Response.Parser), 74);
+ private readonly pbc::MapField responses_ = new pbc::MapField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::MapField Responses {
+ get { return responses_; }
+ }
+
+ /// Field number for the "schemes" field.
+ public const int SchemesFieldNumber = 10;
+ private static readonly pb::FieldCodec _repeated_schemes_codec
+ = pb::FieldCodec.ForString(82);
+ private readonly pbc::RepeatedField schemes_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Schemes {
+ get { return schemes_; }
+ }
+
+ /// Field number for the "deprecated" field.
+ public const int DeprecatedFieldNumber = 11;
+ private bool deprecated_;
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public bool Deprecated {
+ get { return deprecated_; }
+ set {
+ deprecated_ = value;
+ }
+ }
+
+ /// Field number for the "security" field.
+ public const int SecurityFieldNumber = 12;
+ private static readonly pb::FieldCodec _repeated_security_codec
+ = pb::FieldCodec.ForMessage(98, global::Grpc.Gateway.ProtocGenSwagger.Options.SecurityRequirement.Parser);
+ private readonly pbc::RepeatedField security_ = new pbc::RepeatedField();
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
+ public pbc::RepeatedField Security {
+ get { return security_; }
+ }
+
+ /// Field number for the "extensions" field.
+ public const int ExtensionsFieldNumber = 13;
+ private static readonly pbc::MapField.Codec _map_extensions_codec
+ = new pbc::MapField.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForMessage(18, global::Google.Protobuf.WellKnownTypes.Value.Parser), 106);
+ private readonly pbc::MapField