Как отправить данные json из браузера в конечную точку REST (PUT) в форме gzip с помощью nodejs? - PullRequest
0 голосов
/ 30 октября 2019

Я использую node.js с экспрессом. У меня есть домашняя страница, которая после загрузки попадет в мою конечную точку REST (PUT), отправив некоторые данные json. Я не распаковываю данные во время отправки в конечную точку REST. Но на моей конечной точке я хочу, чтобы это было в форме gzip, возможно ли это? Если да, то как?

Примечание. Я хочу использовать кодировку содержимого из клиента. Я не хочу ни gzip это ни на клиенте, ни на сервере. (Даже не в качестве промежуточного программного обеспечения, как на сервере)

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

Если вам нужно автоматически сжимать / распаковывать данные, поступающие или проходящие через запрос, можно использовать один из способов: request-promise узел модуля

 import rp = require("request-promise");
 const requestOptions: rp.Options = {
            uri: "my-endpoint",
            gzip: true,
            method: "GET",
            encoding: "UTF-8",
            headers: {
                Accept: "*/*",
                Authorization: `xxx--token`
            }
        };
 rp(requestOptions)
            .then((response: any) =>
            { // ..your logic to process the response.. }

gzip - если trueдобавьте заголовок Accept-Encoding для запроса сжатых кодировок контента с сервера (если он еще не существует) и декодируйте поддерживаемые кодировки контента в ответе. Примечание. Автоматическое декодирование содержимого ответа выполняется для данных тела, возвращаемых через запрос (как через поток запроса, так и передается в функцию обратного вызова), но не выполняется в потоке ответа (доступном из события ответа), который является неизмененным http. .IncomingMessage объект, который может содержать сжатые данные

параметры запроса-обещания

0 голосов
/ 30 октября 2019

Вы можете добавить промежуточное программное обеспечение на вашем экспресс-сервере. Любые запросы, попадающие на вашу конечную точку, будут проходить через это промежуточное ПО, и в пределах вашего промежуточного ПО вы можете сжать свои данные, эти сжатые данные будут перенаправлены на вашу конечную точку.

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