Using the data {"test": "test"} in a test.json file and the following piston (code kpyh)
the log goes from
10/12/2017, 12:20:55 PM +103ms
+0ms ╔Received event [Home].wc_async_reply = httpRequest with a delay of 186ms
+239ms ║[:]
+251ms ║null
+258ms ║[:]
+277ms ╚Event processed successfully (278ms)
before the fixes are applied to the following after:
10/12/2017, 1:08:36 PM +819ms
+4ms ╔Received event [Home].wc_async_reply = httpRequest with a delay of 13ms
+295ms ║{"test": "test"}
+307ms ║test
+317ms ║[test:test]
+323ms ║application/json
+365ms ╚Event processed successfully (366ms)
@alexjhart, the webCoRE Piston SmartApp code with this set of changes is available here in case you want to try it out before ady gets time to check and apply the updates.
Edit: Revised output above after code changes due to feedback from @mtuckman