Package google.api

Индекс

HttpBody

Сообщение, представляющее произвольное тело HTTP. Его следует использовать только для форматов полезной нагрузки, которые не могут быть представлены как JSON, например необработанных двоичных файлов или HTML-страниц.

Это сообщение можно использовать как в потоковых, так и в непотоковых методах API в запросе, а также в ответе.

Его можно использовать в качестве поля запроса верхнего уровня, что удобно, если вы хотите извлечь параметры из URL-адреса или шаблона HTTP в поля запроса, а также хотите получить доступ к необработанному телу HTTP.

Пример:

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);

}

Пример с методами потоковой передачи:

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

}

Использование этого типа меняет только способ обработки тел запроса и ответа, все остальные функции продолжат работать без изменений.

Поля
content_type

string

Значение заголовка HTTP Content-Type, указывающее тип содержимого тела.

data

bytes

Тело HTTP-запроса/ответа в виде необработанного двоичного файла.

extensions[]

Any

Метаданные ответа конкретного приложения. Должен быть установлен в первом ответе для API потоковой передачи.