Package google.api

Índice

HttpBody

É a mensagem que representa um corpo HTTP arbitrário. Use-a somente para formatos de payload que não podem ser representados como JSON, por exemplo, binário bruto ou uma página HTML.

É possível usar essa mensagem em métodos de API de streaming e não streaming na solicitação e na resposta.

Ela pode ser usada como um campo de solicitação de nível superior, o que é conveniente se você quiser extrair parâmetros do modelo de URL ou HTTP para os campos da solicitação e também quiser acessar o corpo HTTP bruto.

Exemplo sem métodos de streaming:

message GetResourceRequest {
  // A unique request id.
  string request_id = 1;

  // The raw HTTP body is bound to this field.
  google.api.HttpBody http_body = 2;

}

service ResourceService {
  rpc GetResource(GetResourceRequest)
    returns (google.api.HttpBody);
  rpc UpdateResource(google.api.HttpBody)
    returns (google.protobuf.Empty);

}

Exemplo com métodos de streaming:

service CaldavService {
  rpc GetCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);
  rpc UpdateCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);

}

O uso desse tipo muda apenas a forma como os corpos de solicitação e resposta são tratados. Todos os outros recursos continuam funcionando normalmente.

Campos
content_type

string

O valor do cabeçalho HTTP Content-Type que especifica o tipo de conteúdo do corpo.

data

bytes

O corpo da solicitação ou resposta HTTP como binário bruto.

extensions[]

Any

Metadados de resposta específicos do aplicativo. Ele precisa ser definido na primeira resposta para APIs de streaming.