syntax = "proto3"; package echoserver; import "google/api/annotations.proto"; message EchoRequest { string message = 1; } message EchoResponse { string message = 1; } message Heartbeat { enum Status { UNKNOWN = 0; OK = 1; } Status status = 1; } message Empty {} service EchoService { rpc Echo(stream EchoRequest) returns (stream EchoResponse) { option (google.api.http) = { post: "/echo" body: "*" }; } rpc Stream(Empty) returns (stream EchoResponse) { option (google.api.http) = {get: "/echo"}; } rpc Heartbeats(stream Empty) returns (stream Heartbeat) { option (google.api.http) = {post: "/heartbeats"}; } }