github.com/grpc-ecosystem/grpc-gateway/v2@v2.19.1/examples/internal/proto/examplepb/response_body_service.proto (about)

     1  syntax = "proto3";
     2  
     3  package grpc.gateway.examples.internal.proto.examplepb;
     4  
     5  import "google/api/annotations.proto";
     6  
     7  option go_package = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb";
     8  
     9  message ResponseBodyIn {
    10    string data = 1;
    11  }
    12  
    13  message ResponseBodyOut {
    14    message Response {
    15      string data = 1;
    16    }
    17    Response response = 2;
    18  }
    19  
    20  message RepeatedResponseBodyOut {
    21    message Response {
    22      string data = 1;
    23      enum ResponseType {
    24        // UNKNOWN
    25        UNKNOWN = 0;
    26        // A is 1
    27        A = 1;
    28        // B is 2
    29        B = 2;
    30      }
    31      ResponseType type = 3;
    32    }
    33    repeated Response response = 2;
    34  }
    35  
    36  message RepeatedResponseStrings {
    37    repeated string values = 1;
    38  }
    39  
    40  service ResponseBodyService {
    41    rpc GetResponseBody(ResponseBodyIn) returns (ResponseBodyOut) {
    42      option (google.api.http) = {
    43        get: "/responsebody/{data}"
    44        response_body: "response"
    45      };
    46    }
    47    rpc ListResponseBodies(ResponseBodyIn) returns (RepeatedResponseBodyOut) {
    48      option (google.api.http) = {
    49        get: "/responsebodies/{data}"
    50        response_body: "response"
    51      };
    52    }
    53    rpc ListResponseStrings(ResponseBodyIn) returns (RepeatedResponseStrings) {
    54      option (google.api.http) = {
    55        get: "/responsestrings/{data}"
    56        response_body: "values"
    57      };
    58    }
    59  
    60    rpc GetResponseBodyStream(ResponseBodyIn) returns (stream ResponseBodyOut) {
    61      option (google.api.http) = {
    62        get: "/responsebody/stream/{data}"
    63        response_body: "response"
    64      };
    65    }
    66  }