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"};
  }
}
