protobuf webhook with no fixed request structure

60 views Asked by At

I am using Golang as my backend and proto3 as my API definitions. I have grpc-gateway to support http along with grpc.

My use case is To have a webhook API which gets in some payload and processes it. I don't have control over the client and nor do i have surety about the payload structure.

How do i define my Request object?

example :

service RepoService {
  rpc PostGitPR(PostGitPREventRequest) returns (PostGitPREventResponse) {
    option (google.api.http) = {
      post: "/git/pr/event"
      body: "*"
    };
  }

Do i use any.proto or []byte? I am not sure both will work.

1

There are 1 answers

0
ikamornikau On

If it's impossible to predict a payload you can use google.api.HttpBody as your request object in the proto file. See this: https://github.com/googleapis/googleapis/blob/master/google/api/httpbody.proto