Resolve "Temporary Fix" from issue 97

node-red/packages/node_modules/@node-red/util/lib/util.js at master · node-red/node-red · GitHub line 100. The http nodes caused deepcopy issues, so there was a quick fix done to simply preserve the http objects variables by name. However, this appears to never have been returned to, and the quick fix became more permanent.

Similar deep clone behavior is causing problems for me, and was rather subtle about what the issue was.
I am trying to pass a complex object like "discordjs". However, when node-red tries to clone it (IF it decides to, which adds to the confusion), lodash stack overflows, without a clear error message or cause. In the meantime, to work around this issue, I am able to just use global.get and global.set to store/get the global object.

What I would like as a longer term better solution, is a way to declare some type of metadata on a message, or in system properties, to say "hey please don't deepcopy this field. Just let it be.". However, I don't know that node-reds architecture lends itself well to that type of metadata on a message, and a system level property might not be the best option either.

If a good solution is come to, I am willing to make a pull request myself, but might need assistance with the UI parts.