Включить прокси-серверы гармонии во время выполнения в node.js

У меня есть небольшая RPC-библиотека для узла, и прямо сейчас она использует прокси-серверы гармонии для удаленных объектов, если они доступны (путем проверки существования Proxy global).

Я хотел бы иметь возможность включать прокси-серверы гармонии во время выполнения, то есть в процессе узла, который не был запущен с флагом --harmony-proxy. Это возможно?

Я понимаю, что есть веские причины не этого делать, и мне все равно :-P

EDIT Как указано в ответах, прокси-серверы node.js используют более старую спецификацию. Я могу использовать прокладку типа https://github.com/tvcutsem/harmony-reflect для работы вокруг этого, но для этого по-прежнему требуется флаг --harmony для включения базовой поддержки прокси, и я хочу знать, можно ли включить это во время выполнения в процессе, запущенном без флагов --harmony.


person jjm    schedule 30.06.2013    source источник


Ответы (2)


Версия прокси зависит от того, используете ли вы master или v0.10. Последняя стабильная версия (v0.10) использует ветку 3.14, в то время как разработка (master) остается с v8 bleeding_edge (в настоящее время 3.20). Так что правильнее вопрос "какая версия прокси реализована v8?"

Ведется работа над реализацией прокси, но сейчас это движущаяся цель. Ссылка на билет реализации прокси-сервера в системе отслеживания ошибок (http://code.google.com/p/v8/issues/detail?id=1543), похоже, грядет еще один раунд изменений. Так что будьте осторожны с предстоящим развитием.

Что касается включения прокси в приложении, а не в командной строке, я считаю, что вам придется написать собственный модуль и использовать метод V8::SetFlagsFromString (https://github.com/v8/v8/blob/f281162/include/v8.h#L4341-L4344). Если вам нужен пример, я мог бы найти время, чтобы взбить его.

person Trevor Norris    schedule 01.07.2013

Node.js реализует более старую спецификацию прокси. Не используйте их.

https://groups.google.com/forum/?fromgroups=#!topic/nodejs/LPD8ut33-hg

person Gabriel Llamas    schedule 30.06.2013