#115 root middleware cannot run async because it might need to interact with the request before headers are parsed
since there can be many middleware in the router run it async
there was no issue with synchronized
fix missing initialization
make code more async
Merge remote-tracking branch 'upstream/develop' into develop-js-fix