syntax = "proto3";

package github;
option go_package = "github.com//unistack-org/micro-tests/client/http/proto;pb";

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

service Github {
	rpc LookupUser(LookupUserReq) returns (LookupUserRsp) {
		option (micro.openapiv3.openapiv3_operation) = {
      operation_id: "LookupUser";
      responses: {
        default: {
          reference: {
            _ref: ".github.Error";
          };
        };
      };
    };
		option (micro.api.http) = { get: "/users/{username}"; };
  };
	rpc LookupUserWithoutPath(LookupUserReq) returns (LookupUserRsp) {
		option (micro.openapiv3.openapiv3_operation) = {
      operation_id: "LookupUserWithoutPath";
      responses: {
        default: {
          reference: {
            _ref: ".github.Error";
          };
        };
      };
    };
		option (micro.api.http) = { get: "/{username}"; };
  };

};

message LookupUserReq {
  string username = 1;
  google.protobuf.StringValue str = 2;
};

message LookupUserRsp {
  string name = 1;
};

message Error {
	string message = 1;
	string documentation_url = 2;
};