gRPC generator
Configure gRPC generator
Categories:
Full gRPC generator config
gun:
type: grpc
target: '[hostname]:443'
timeout: 15s # Grpc request timeout. Default: 15s
tls: false # If true, Pandora accepts any certificate presented by the server and any host name in that certificate. Default: false
reflect_port: 8000 # If your reflection service is located on a port other than the main server
reflect_metadata: # Separate metadata data for reflection service
auth: Token
shared-client:
enabled: false # If TRUE, the generator will use a common transport client for all instances
client-number: 1 # The number of shared clients can be increased. The default is 1
dial_options:
authority: some.host # Specifies the value to be used as the :authority pseudo-header and as the server name in authentication handshake
timeout: 1s # Timeout for dialing GRPC connect. Default: 1s
answlog:
enabled: true
path: ./answ.log
filter: all # all - all http codes, warning - log 4xx and 5xx, error - log only 5xx. Default: error
Mapping Response Codes
Pandora uses the gRPC client from google.golang.org/grpc as a client (https://github.com/grpc/grpc-go)
But to unify reports it converts them into HTTP codes.
Mapping table gPRC StatusCode -> HTTP StatusCode
| gRPC Status Name | gRPC Status Code | HTTP Status Code |
|---|---|---|
| OK | 0 | 200 |
| Canceled | 1 | 499 |
| InvalidArgument | 3 | 400 |
| DeadlineExceeded | 4 | 504 |
| NotFound | 5 | 404 |
| AlreadyExists | 6 | 409 |
| PermissionDenied | 7 | 403 |
| ResourceExhausted | 8 | 429 |
| FailedPrecondition | 9 | 400 |
| Aborted | 10 | 409 |
| OutOfRange | 11 | 400 |
| Unimplemented | 12 | 501 |
| Unavailable 14 | 14 | 503 |
| Unauthenticated 16 | 16 | 401 |
| unknown | - | 500 |
References
- Scenario generator / gRPC
- Best practices