Изменение заголовков HTTP в конечных точках Google App Engine (Android)

Я хотел бы добавить пользовательские заголовки в пакет HTTP, отправленный на конечную точку. Я прочитал, что я могу получить доступ к необработанным данным HTTP в методе Endpoint (добавив параметр HttpServletRequest). Я ищу решение (или взлом) для доступа и изменения данных, отправляемых клиентом (Android).

1 ответ

Заголовки Http могут быть изменены следующим образом. Я использую эту ссылку в качестве примера. Поскольку это один из примеров Google.

Прочитайте его и найдите EndpointsAsyncTask, чтобы использовать GoogleClientRequestInitializer. внутри

public void initialize (AbstractGoogleClientRequest abstractGoogleClientRequest) бросает IOException

вы можете настроить такие заголовки.

HttpHeaders headers = abstractGoogleClientRequest.getRequestHeaders();
headers.setDate(dateFormat.format(calendar.getTime()));
headers.set("MyCustomHeader", "HeaderValue");
abstractGoogleClientRequest.setRequestHeaders(headers);

В приведенном выше коде setDate() может использоваться для установки заголовка Date, а метод set() использовался для установки моего собственного заголовка, который можно прочитать со стороны сервера. Я использовал календарь для получения даты, но инициализация класса календаря здесь не показана.

Я также написал заметку в своем блоге, чтобы показать, как она на самом деле находится в методе. если вам нравится читать который тоже.

licensed under cc by-sa 3.0 with attribution.