Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2019 August 10

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
Всем привет, когда в ответ приходит json, такая ошибка
/node_modules/brotli/build/encode.js:3

1<process.argv.length?process.argv[1].replace(/\\/g,"/"):"unknown-program");b.arguments=process.argv.slice(2);"undefined"!==typeof module&&(module.exports=b);process.on("uncaughtException",function(a){if(!(a instanceof y))throw a;});b.inspect=function(){return"[Emscripten Module object]"}}else if(x)b.print||(b.print=print),"undefined"!=typeof printErr&&(b.printErr=printErr),b.read="undefined"!=typeof read?read:function(){throw"no read() available (jsc?)";},b.readBinary=function(a){if("function"===

еще и не отлавливается стандартными методами и аппка крэшится, т.к. ошибка не в самом запросе, а его дальнейшем парсинге, насколько я понимаю
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
не, кстати теперь отлавливается, но все равно такая странная ошибка % )
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Строка
/node_modules/brotli/build/encode.js:3
ни о чем не говорит?
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
мм, мне почему-то показалась эта ошибка достаточно типовой, так-то лезть в очередную либу для изучения ее флоу, ну такое, но видимо ничего другого не остается
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
там минифицированный агли файл
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
В код лезть не обязательно
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
и это кор либа кста
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Достаточно загуглить что такое brotli, зачем его пользуют.
Потом надо посмотреть, что ошибка в файое encode, значит по идее либа пытается что-то "заэнкодить", а в данном случае "запаковать".
Потом глянуть на отот код, найти readBinary - очевидно, что оно хочет найти бинарник и вызвать его. Но что-то идет не так.

то в первую очередь проверить бинарник, есть ли он или нет
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
‌‌‎nil ‌‌‎
и это кор либа кста
шта?
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Достаточно загуглить что такое brotli, зачем его пользуют.
Потом надо посмотреть, что ошибка в файое encode, значит по идее либа пытается что-то "заэнкодить", а в данном случае "запаковать".
Потом глянуть на отот код, найти readBinary - очевидно, что оно хочет найти бинарник и вызвать его. Но что-то идет не так.

то в первую очередь проверить бинарник, есть ли он или нет
кул, спасибо, можно ж было без прелюдий так-то
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
‌‌‎nil ‌‌‎
кул, спасибо, можно ж было без прелюдий так-то
нет
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Достаточно загуглить что такое brotli, зачем его пользуют.
Потом надо посмотреть, что ошибка в файое encode, значит по идее либа пытается что-то "заэнкодить", а в данном случае "запаковать".
Потом глянуть на отот код, найти readBinary - очевидно, что оно хочет найти бинарник и вызвать его. Но что-то идет не так.

то в первую очередь проверить бинарник, есть ли он или нет
ну гуд, щас буду смотреть, знаю что в ответ приходит json, а вот что оно там пытается энкодить хз
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Просто надо всегда стараться понять, что каждая установленная либа делает и зачем. Вполне возможно, что она не нужна и вовсе.
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
ну это 3rd party зависимость
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
но окей
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
примерно понял зачем это надо, но не пойму как оно коррелирует с тем, что содержимое ответа JSON
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
заметил именно закономерность с запросами к json api
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Если это какой-то маломальский "энтерпрайз", то с большой долей вероятности там нода будет спрятана за нжинксами/хапрокси/прочими лоадбалансерами и/или cdn-ами. А вышеперечисленные сами вполне неплохо справляются со сжатием.
источник

‌‌

‌‌‎nil ‌‌‎... in NodeUA - JavaScript and Node.js in Ukraine
это в одно лицо проект, и запросы обрабатывает прокси агент, поэтому сжатие имеет смысл
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
‌‌‎nil ‌‌‎
примерно понял зачем это надо, но не пойму как оно коррелирует с тем, что содержимое ответа JSON
ну видимо кто-то или что-то
1) Либо пытается прочесть сжатый данным алгоритмом ответ
2) Либо (что более вероятно) оно пытается сжать респонс
источник