Найти имя клиента для вызова gRPC в Go - PullRequest
1 голос
/ 17 апреля 2019

Я использовал protobufs для определения моих моделей и службы gRPC, а также сгенерировал protos для Go (.pb.go). Когда я выполняю gRPC-вызов службы, я хочу узнать на сервере имя клиента / приложения, вызывающего серверный API. Может ли здесь помочь параметр контекста в API?

Ответы [ 2 ]

1 голос
/ 17 апреля 2019

Как вариант, вы можете использовать GRPC Metadata . Это не строгий тип (потому что это просто map[string][]string), но может соответствовать вашим потребностям. Установите поле пользовательских метаданных на стороне клиента и проверьте это поле в обработчике сервера.

0 голосов
/ 17 апреля 2019

Вы можете использовать опцию набора WithUserAgent для установки пользовательской строки пользовательского агента на клиенте.

Для получения пользовательского агента на стороне сервера см. этот вопрос . Ответ не полностью, но вы можете просто распечатать карту метаданных и посмотреть, как агент пользователя хранится в метаданных. А потом опубликуйте свои выводы там:)

...