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.

Was it helpful?

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.

OTHER TIPS

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

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top