Basically all response callbacks are invoked from within resume_http_request() which results in multiple mutable borrows error:
[Envoy (Epoch 0)] [2020-10-30 11:44:15.052][30][critical][wasm] [external/envoy/source/extensions/common/wasm/context.cc:1098] wasm log connectivity_plugin csp_root_id: panicked at 'already borrowed: BorrowMutError', /Users/svetlin/git/oss/proxy-wasm-rust-sdk/src/dispatcher.rs:335:67
This happens when I try to resume the request from a Context::on_http_call_response() callback. This callback mutably borrows the self.http_streams member. Then when I resume the request via resume_http_request(), any subsequent callbacks such as on_http_call_response, on_done, and others, result in a second mutable borrows which ends up in a panic!(), thus crashing envoy.
PS: Failed on istio 1.5.10