turns out you can't have reply_http close the connection without borking all the websocket stuff also, sigh