...

Text file src/github.com/grpc-ecosystem/grpc-gateway/examples/internal/proto/examplepb/flow_combination.proto

Documentation: github.com/grpc-ecosystem/grpc-gateway/examples/internal/proto/examplepb

     1syntax = "proto3";
     2option go_package = "examplepb";
     3package grpc.gateway.examples.internal.examplepb;
     4
     5import "google/api/annotations.proto";
     6
     7message EmptyProto {}
     8
     9message NonEmptyProto {
    10	string a = 1;
    11	string b = 2;
    12	string c = 3;
    13}
    14
    15message UnaryProto {
    16	string str = 1;
    17}
    18
    19message NestedProto {
    20	UnaryProto a = 1;
    21	string b = 2;
    22	string c = 3;
    23}
    24
    25message SingleNestedProto {
    26	UnaryProto a = 1;
    27}
    28
    29service FlowCombination {
    30	rpc RpcEmptyRpc(EmptyProto) returns (EmptyProto) {
    31		option (google.api.http) = {
    32			post: "/rpc/empty/rpc"
    33		};
    34	}
    35	rpc RpcEmptyStream(EmptyProto) returns (stream EmptyProto) {
    36		option (google.api.http) = {
    37			post: "/rpc/empty/stream"
    38		};
    39	}
    40	rpc StreamEmptyRpc(stream EmptyProto) returns (EmptyProto) {
    41		option (google.api.http) = {
    42			post: "/stream/empty/rpc"
    43		};
    44	}
    45	rpc StreamEmptyStream(stream EmptyProto) returns (stream EmptyProto) {
    46		option (google.api.http) = {
    47			post: "/stream/empty/stream"
    48		};
    49	}
    50
    51	rpc RpcBodyRpc(NonEmptyProto) returns (EmptyProto) {
    52		option (google.api.http) = {
    53			// w/ body; w/o path; w/o query
    54			post: "/rpc/body/rpc"
    55			body: "*"
    56
    57			// w/o body; w/ path; w/o query
    58			additional_bindings {
    59				post: "/rpc/path/{a}/{b}/{c}/rpc"
    60			}
    61			// w/o body; w/o path; w/ query
    62			additional_bindings {
    63				post: "/rpc/query/rpc"
    64			}
    65			// w/ body; w/ path; w/o query
    66			additional_bindings {
    67				post: "/rpc/body/path/{a}/{b}/rpc"
    68				body: "c"
    69			}
    70			// w/ body; w/o path; w/ query
    71			additional_bindings {
    72				post: "/rpc/body/query/rpc"
    73				body: "c"
    74			}
    75			// w/ body; w/ path; w/ query
    76			additional_bindings {
    77				post: "/rpc/body/path/{a}/query/rpc"
    78				body: "c"
    79			}
    80			// w/o body; w/ path; w/ query
    81			additional_bindings {
    82				post: "/rpc/path/{a}/query/rpc"
    83			}
    84		};
    85	}
    86	rpc RpcPathSingleNestedRpc(SingleNestedProto) returns (EmptyProto) {
    87		option (google.api.http) = {
    88			// w/o body; w/ path (IsNestedProto3); w/o query
    89			post: "/rpc/path-nested/{a.str}/rpc"
    90		};
    91	}
    92	rpc RpcPathNestedRpc(NestedProto) returns (EmptyProto) {
    93		option (google.api.http) = {
    94			// w/ body; w/ path (IsNestedProto3); w/o query
    95			post: "/rpc/path-nested/{a.str}/{b}/rpc"
    96			body: "c"
    97
    98			// w/o body; w/ path (IsNestedProto3); w/ query
    99			additional_bindings {
   100				post: "/rpc/path-nested/{a.str}/rpc"
   101			}
   102			// w/ body; w/ path (IsNestedProto3); w/ query
   103			additional_bindings {
   104				post: "/rpc/path-nested/{a.str}/rpc"
   105				body: "c"
   106			}
   107		};
   108	}
   109
   110	rpc RpcBodyStream(NonEmptyProto) returns (stream EmptyProto) {
   111		option (google.api.http) = {
   112			// w/ body; w/o path; w/o query
   113			post: "/rpc/body/stream"
   114			body: "*"
   115
   116			// w/o body; w/ path; w/o query
   117			additional_bindings {
   118				post: "/rpc/path/{a}/{b}/{c}/stream"
   119			}
   120			// w/o body; w/o path; w/ query
   121			additional_bindings {
   122				post: "/rpc/query/stream"
   123			}
   124			// w/ body; w/ path; w/o query
   125			additional_bindings {
   126				post: "/rpc/body/path/{a}/{b}/stream"
   127				body: "c"
   128			}
   129			// w/ body; w/o path; w/ query
   130			additional_bindings {
   131				post: "/rpc/body/query/stream"
   132				body: "c"
   133			}
   134			// w/ body; w/ path; w/ query
   135			additional_bindings {
   136				post: "/rpc/body/path/{a}/query/stream"
   137				body: "c"
   138			}
   139			// w/o body; w/ path; w/ query
   140			additional_bindings {
   141				post: "/rpc/path/{a}/query/stream"
   142			}
   143		};
   144	}
   145	rpc RpcPathSingleNestedStream(SingleNestedProto) returns (stream EmptyProto) {
   146		option (google.api.http) = {
   147			// w/o body; w/ path (IsNestedProto3); w/o query
   148			post: "/rpc/path-nested/{a.str}/stream"
   149		};
   150	}
   151	rpc RpcPathNestedStream(NestedProto) returns (stream EmptyProto) {
   152		option (google.api.http) = {
   153			// w/ body; w/ path (IsNestedProto3); w/o query
   154			post: "/rpc/path-nested/{a.str}/{b}/stream"
   155			body: "c"
   156
   157			// w/o body; w/ path (IsNestedProto3); w/ query
   158			additional_bindings {
   159				post: "/rpc/path-nested/{a.str}/stream"
   160			}
   161			// w/ body; w/ path (IsNestedProto3); w/ query
   162			additional_bindings {
   163				post: "/rpc/path-nested/{a.str}/stream"
   164				body: "c"
   165			}
   166		};
   167	}
   168}

View as plain text