gRPC генератор

Настройка grpc генератора

Полный конфиг grpc генератора

gun:
  type: grpc
  target: '[hostname]:443'
  timeout: 15s              # Таймаут для запросов gRPC. По умолчанию: 15s
  tls: false                # Если true, Pandora принимает любой сертификат, представленный сервером, и любое имя хоста в этом сертификате. По умолчанию: false
  reflect_port: 8000        # Если ваш рефлекшн сервис находится на отличном от основного сервера порту
  reflect_metadata:         # Отдельные metadata данные для рефлекшн сервис
    auth: Token
  shared-client:
    enabled: true           # Если TRUE, генератор будет использовать общий транспортный клиент для всех инстансов
    client-number: 1        # Количество общих клиентов можно увеличить. По умолчанию 1
  dial_options:
    authority: some.host    # Указывает значение, которое будет использоваться в качестве псевдозаголовка :authority и имени сервера в процессе аутентификации.
    timeout: 1s             # Таймаут установки gRPC соединения. По умолчанию: 1s
  answlog:
    enabled: true
    path: ./answ.log
    filter: all            # all - все http-коды, warning - логировать 4xx и 5xx, error - логировать только 5xx. По умолчанию: error

Маппинг кодов ответа

В качестве клиента Пандора использует gRPC клиент от google.golang.org/grpc (https://github.com/grpc/grpc-go)

Но для унификации графиков преобразует их в HTTP коды.

Таблица маппинга gPRC StatusCode -> HTTP StatusCode

gRPC Status NamegRPC Status CodeHTTP Status Code
OK0200
Canceled1499
InvalidArgument3400
DeadlineExceeded4504
NotFound5404
AlreadyExists6409
PermissionDenied7403
ResourceExhausted8429
FailedPrecondition9400
Aborted10409
OutOfRange11400
Unimplemented12501
Unavailable 1414503
Unauthenticated 1616401
unknown-500

Смотри так же