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
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
<strong>EDIT</strong> 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
The version of Proxy is depend on whether you use
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.
Node.js implements an older proxy specification. Don't use them.