- Added a new function to handle WebSocket connections, including hijacking the client connection and establishing a connection to the upstream WebSocket server. - Enhanced error handling for connection issues and improved request cloning for WebSocket upgrades. - Introduced utility functions for dialing WebSocket upstream and writing raw HTTP errors, ensuring robust communication and error reporting. - Refactored the existing proxy logic to accommodate the new WebSocket handling, improving overall functionality and reliability.