API игнорирует заголовок, отправленный с httr?
Я работаю с UnderArmour API и запрашиваю файлы gpx для маршрутов в определенном месте, и все работает нормально. Однако загрузка занимает некоторое время, и я хотел бы загрузить сжатый файл для каждой страницы сжатия:
Все конечные точки поддерживают сжатие ответов. Чтобы включить сжатие, ваш запрос должен предоставить "Accept-Encoding" со значением, установленным в gzip.
GET /7.1 /... HTTP / 1.1
Хост: api.underarmour.com
Принять: приложение / JSON
Accept-Encoding: gzip
Код, который я использую, чтобы попробовать это, здесь (я заменил свой токен пользователя на XXX для конфиденциальности):
gpxurl <- "https://api.ua.com/v7.1/route/?close_to_location=51.5%2C-0.1&format=gpx&field_set=detailed&limit=40"
r <- GET(gpxurl, add_headers("authorization"=XXX,
"Accept"="application/json",
"Accept-Encoding"="gzip"))
Файл, который я получаю, не кажется сжатым. Загрузка занимает столько же времени, сколько и в оригинальном файле, и мне не нужно ничего извлекать. Я не могу проверить заголовки, которые получил httpbin, потому что возвращенный файл находится в необработанном виде, а str(content(r)$headers) завершается ошибкой, потому что формат - это просто атомарный вектор байтов, отправленных обратно с сервера. Заголовки, которые он отправил обратно, находятся ниже и не включают в себя заголовки "Accept" или "Accept-Encoding", которые, как я ожидаю, будут там, если они будут работать правильно.
str(headers(r))
List of 11
$ content-type : chr "application/gpx+xml; charset=UTF-8"
$ content-length : chr "3506843"
$ connection : chr "keep-alive"
$ access-control-allow-origin: chr "*"
$ date : chr "Wed, 28 Feb 2018 17:29:37 GMT"
$ p3p : chr "CP=\"NOI DSP COR CURa ADMa DEVa TAIa OUR BUS IND UNI COM NAV INT\""
$ server : chr "edge-proxy/1.0"
$ uacf-request-id : chr "9c573cc7-3589-4987-a297-303722b6e6e9"
$ x-cache : chr "Miss from cloudfront"
$ via : chr "1.1 7db492e48a5d55351dcb787a8a14e113.cloudfront.net (CloudFront)"
$ x-amz-cf-id : chr "c7zlkuaUXoYVIsmpZvQlHHpGDNobFJw49nzhlg0_gXuGcbWBS6_zCQ=="
- attr(*, "class")= chr [1:2] "insensitive" "list"
Как я могу получить сжатый файл GPX из UnderArmour API?