# gRPC error responses
# Ref: https://github.com/grpc/grpc-go/blob/master/codes/codes.go
# Ref: https://grpc.io/docs/guides/wire
#
location @grpc_deadline_exceeded {
  add_header grpc-status 4;
  add_header grpc-message 'deadline exceeded';
  default_type application/grpc;
  return 200;
}
location @grpc_permission_denied {
  add_header grpc-status 7;
  add_header grpc-message 'permission denied';
  default_type application/grpc;
  return 200;
}
location @grpc_resource_exhausted {
  add_header grpc-status 8;
  add_header grpc-message 'resource exhausted';
  default_type application/grpc;
  return 200;
}
location @grpc_unimplemented {
  add_header grpc-status 12;
  add_header grpc-message unimplemented;
  default_type application/grpc;
  return 200;
}
location @grpc_internal {
  add_header grpc-status 13;
  add_header grpc-message 'internal error';
  default_type application/grpc;
  return 200;
}
location @grpc_unavailable {
  add_header grpc-status 14;
  add_header grpc-message unavailable;
  default_type application/grpc;
  return 200;
}
location @grpc_unauthenticated {
  add_header grpc-status 16;
  add_header grpc-message unauthenticated;
  default_type application/grpc;
  return 200;
}
