Anonymous
Скорее всего один из пакетов шалит с Object.defineProperty
А ошибка вываливается именно на том который напрямую расширяет прототип
Vladimir
В том и суть
Vladimir
Какой то из пакетов определяет toJSON
Vladimir
на Object.prototype
Vladimir
или Error.prototype
Anonymous
Какой то из пакетов определяет toJSON
Нашел это поиском по проекту if (!Error.prototype.toJSON) { Object.defineProperty(Error.prototype, 'toJSON', { enumerable: false,
Anonymous
в пакете errs
Vladimir
Ну вот от этого пакета надо избавляться
Anonymous
'Обожаю' мир npm пакетов (
Anonymous
Спасибо большое за помошь. Мне как то в голову не пришло что где то в пакете может быть такая херня ))
Anonymous
пиши автору в issues
Автору уши оторвать надо за такие практики )
Vladimir
вообще на гитхабе writeable
Anonymous
Так переопределять прототипы и своем коде не гуд, не то что в библиотеке
Vladimir
может обновить стоит попробовать?
Vladimir
Но да, нормальные люди так не делают
Anonymous
cycle, elm, html5 в чяте ноджс. вроде бы все ок, но про голанг снова забыли(
Vitaliy
о! а я правильно понимаю, что elm можно в js для ноды транслировать? 8)
Дима
purescript выглядит слегка поадекватнее чем elm
Anton
А ну так да, можно обоих в ноду пихать
Anonymous
elm нельзя
Sergey
о спасибо за pureScript
Sergey
искал подобное
Sergey
чуть не начал свое делать
Sergey
0_-
Anonymous
ghcjs же
Дима
чуть не начал свое делать
Как будто это что-то плохое 😏
Sergey
Как будто это что-то плохое 😏
сложно правильно спроектировать дизайн языка
Дима
Ну это интересный опыт сам по себе
Sergey
да вот думаю доделать тот дизайн, что есть сейчас и выкатить сообществу обосрут конечно, мол НИНАДА!
Дима
Нинада конечно 😏 Но ты всё равно выкатывай
Дима
Сейчас попробую поискать одну статью хорошую про чувака, который свой язык пилил
Дима
Познавательно так
Sergey
буду благодарен!
Sergey
@ZeroBias скинь в лс как найдешь, пожалуйста А то в чате потерять можно
Anonymous
опыт нужен, язык
Anonymous
Рубикон
есть библиотека ws .. для использование её в nodejs обязательно делать http сервер?
Рубикон
нашел ( https://learn.javascript.ru/websockets ) судя по примеру в этом нет необходимости
Рубикон
но там написано обратное
Серверный код можно писать на любой платформе. В нашем случае это будет Node.JS, с использованием модуля ws: и далее пример
Anton
да
нет, это будет не http сервер, а ws сервер
Anonymous
нет, это будет не http сервер, а ws сервер
только хендшейк вебсокетов по хттп проходит
Anton
может быть nodejs? О_о
Anton
только хендшейк вебсокетов по хттп проходит
он просто использует протокол http, но тебе не нужно писать http сервер
Anonymous
и слава богу, не приведи аллах писать http-сервера
Anton
и слава богу, не приведи аллах писать http-сервера
Для установления соединения WebSocket клиент и сервер используют протокол, похожий на HTTP. Клиент формирует особый HTTP-запрос, на который сервер отвечает определенным образом.
Anton
это не сервер, и, как оказывается, даже не совсем HTTP
Anonymous
это сервер, и вполне хттп
Anonymous
не вижу где в абзаце этом написано что это не сервер и не хттп
Anonymous
вроде наоборот как раз написано
Anton
Например, в запросе есть тело, но в заголовках поле "Content-Length" отсутствует (что нарушает соглашения HTTP).
Anonymous
“похожий на HTTP”
это протокол вебсокетов похож на хттп
Anonymous
но чтобы инициализировать вебсокеты нужно сначала отправить по хттп запрос и получить ответ
Anton
вот я про этот запрос и написал, это не HTTP запрос, а похожий на HTTP запрос
Bohdan
что значит похожий
Anonymous
где это не хттп-запрос?
А ВОТ ТЕПЕРЬ ПАБЛИК
Есть еще purescript
https://github.com/evanw/thinscript
Anonymous
GET /chat HTTP/1.1 Host: server.example.com Upgrade: websocket Connection: Upgrade Origin: http://javascript.ru Sec-WebSocket-Key: Iv8io/9s+lYFgZWcXczP8Q== Sec-WebSocket-Version: 13 что тут не хттп?
Anton
вот ответ сервера, подтверждающий переход на ws HTTP/1.1 101 Web Socket Protocol Handshake Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Origin: http://example.com Sec-WebSocket-Location: ws://example.com/demo Sec-WebSocket-Protocol: sample 8jKS'y:G*Co,Wxa- как видишь тут есть тело, но нет Content-Length (что нарушает соглашения HTTP)
Anonymous
я не вижу тут тела
Anton
8jKS'y:G*Co,Wxa- - это тело
Anonymous
а откуда оно взялось вообще?
Anton
в смысле?
Anonymous
https://tools.ietf.org/html/rfc6455#section-1.3 не должно быть там никакого тела
Anonymous
короче если вопрос был в том, стоит ли руками пускать http - то можно не пускать, ws это сделает сам
Anonymous
но http сервер все равно поднимется, без него вебсокеты работать не будут
Anton
мы походу про разные версии протокола говорим
Anonymous
я вообще не помню там когда-либо тело и не могу представить зачем оно нужно
Michael
мы походу про разные версии протокола говорим
ну если брать не пару первых черновиков
Michael
дальше всё нормально
Anonymous
а, нашел где есть body, действительно в первом драфте
Anton
https://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-76#section-1.3
Anton
в 76-й версии тоже есть
Michael
и кому нужен этот hixie?