Apply timeouts to HTTP traffic only

- WebSockets never timeout
- HTTP timeout based on endpoint timeout