attributes - attributes from the HTTP handshake to associate with the WebSocket
session; the provided attributes are copied, the original map is not used.
whether the handshake negotiation was successful or not. In either case the
response status, headers, and body will have been updated to reflect the
result of the negotiation
HandshakeFailureException - thrown when handshake processing failed to
complete due to an internal, unrecoverable error, i.e. a server error as
opposed to a failure to successfully negotiate the handshake.