Question

I have a little RPC library for node, and right now it uses harmony proxies for remote objects if they are available (by checking for the existence of a Proxy global).

I'd like to be able to turn harmony proxies on at runtime, that is, in a node process that was not started with the --harmony-proxy flag. Is this possible?

I understand that there are good reasons not to do this, and I don't really care :-P

EDIT As pointed out in the answers, node.js proxies use an older spec. I can use a shim like https://github.com/tvcutsem/harmony-reflect to work around this, but this still requires the --harmony flag to enable the underlying proxy support, and I want to know whether it's possible to enable that at runtime in a process started without the --harmony flags.

Était-ce utile?

La solution

The version of Proxy is depend on whether you use master or v0.10. Latest stable (v0.10) uses the 3.14 branch, while development (master) stays with v8 bleeding_edge (currently at 3.20). So the more correct question is, "what version of proxies has v8 implemented?"

Work is being done on the proxy implementation, but it's a moving target right now. Referencing the proxy implementation ticket in the bug tracker (http://code.google.com/p/v8/issues/detail?id=1543) it looks like another round of changes are coming. So be careful with upcoming development.

As far as enabling proxies in the app and not the command line I believe you'll have to write a native module and use the V8::SetFlagsFromString method (https://github.com/v8/v8/blob/f281162/include/v8.h#L4341-L4344). If you need an example I might make time to whip one up.

Autres conseils

Node.js implements an older proxy specification. Don't use them.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top