syntax = "proto3";

package grpc.gateway.examples.internal.helloworld;

import "google/api/annotations.proto";
import "google/protobuf/wrappers.proto";

option go_package = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/helloworld";

service Greeter {
  rpc SayHello(HelloRequest) returns (HelloReply) {
    option (google.api.http) = {
      get: "/say/{name}"
      additional_bindings: {get: "/say/strval/{strVal}"}
      additional_bindings: {get: "/say/floatval/{floatVal}"}
      additional_bindings: {get: "/say/doubleval/{doubleVal}"}
      additional_bindings: {get: "/say/boolval/{boolVal}"}
      additional_bindings: {get: "/say/bytesval/{bytesVal}"}
      additional_bindings: {get: "/say/int32val/{int32Val}"}
      additional_bindings: {get: "/say/uint32val/{uint32Val}"}
      additional_bindings: {get: "/say/int64val/{int64Val}"}
      additional_bindings: {get: "/say/uint64val/{uint64Val}"}
    };
  }
}

message HelloRequest {
  string name = 1;
  google.protobuf.StringValue strVal = 2;
  google.protobuf.FloatValue floatVal = 3;
  google.protobuf.DoubleValue doubleVal = 4;
  google.protobuf.BoolValue boolVal = 5;
  google.protobuf.BytesValue bytesVal = 6;
  google.protobuf.Int32Value int32Val = 7;
  google.protobuf.UInt32Value uint32Val = 8;
  google.protobuf.Int64Value int64Val = 9;
  google.protobuf.UInt64Value uint64Val = 10;
}

message HelloReply {
  string message = 1;
}
