2016-06-08 2 views
0

Die API komprimiert Stackoverflow seine JSON Ausgabe mit gzip oder abzulassen: http://api.stackexchange.com/docs/compressionGibt es eine Möglichkeit, wie Node-RED eine gzip http-Antwort dekomprimieren kann, ohne die Datei settings.js zu ändern?

Gibt es trotzdem innerhalb Knoten-RED oder in einer Funktion, wo ich dies tun können, ohne dass die Anweisung in dem folgenden Link folgen zu müssen? http://international.github.io/2016/04/14/08-07-decompressing_gzip_http_response_with_node-red

Ich bin in der Lage, die Antwort von der Stackoverflow API zu erhalten, indem Sie die oben genannten Arbeiten verwenden. Es scheint, dass ein normaler Browser die Antwort, die node-RED erreichen sollte, leicht dekomprimieren kann, ohne die Datei settings.js ändern zu müssen.

Die versuchte Verwendung der geparsten JSON-Antwort Rückgabe-Auswahl für eine Webanforderung, aber es kommt zurück als fehlgeschlagen zu analysieren.

Antwort

2

Es ist nicht möglich, dies ohne Änderung der Einstellungsdatei zu tun, da eine Bibliothek (zlib) benötigt wird, die nicht Teil der Sandbox ist, die der Function-Knoten verwendet.

Wir können uns überlegen, eine Komprimierungs-Middleware in unseren Standard-Stack aufzunehmen - aber wir müssen darauf achten, dass sich das Verhalten nicht so verhält wie heute.

Eine Alternative zu untersuchen ist, ob Sie in der Lage sind, geeignete Header als Teil Ihrer HTTP-Anfrage zu setzen, um den Server zu bitten, die Antwort nicht zu komprimieren. Ich habe diesen Ansatz bereits mit einigen APIs verwendet, habe aber auch andere gefunden, die solchen Anfragen nicht nachgehen.

Verwandte Themen