Now I want to build a middleware to process requests sent from browser, filter some of them then pass other to server(e.g. the middleware receive stream 1 and stream 3, it blocks 1 then pass 3 to the server).

I try to use GOAWAY to implement this but not ideal. It is expected that browser receives GOAWAY with last stream ID 1 and establish a new connection to send original stream 3. However general circumstance is that it will skip the stream 3 and send following requests
enter image description here

Another problem is that the browser will stop establishing new connection after sending requests for several times

Please give me some advice