Undertow can work in blocking or non-blocking mode. Blocking mode is intended for operations which take some time, non-blocking for immediate reply. In blocking mode if user tries to read the request body then Undertow wait until the body is completely read and then invoke callback for processing. In non-blocking mode if request body isn't ready yet then Undertow returns back and request body is read later, when it will become available.
Router currently use non-blocking mode and expects the request body to be available immediately. Therefore router needs to be updated to use blocking mode.