Each handler should have its own pool to prevent unnecessary blocking.
websocket: just close the connection on write error, don't try to write headers which is illegal.