Exceptions#

websockets.exceptions defines the following exception hierarchy:

exception websockets.exceptions.AbortHandshake(status, headers, body=b'')#

Raised to abort the handshake on purpose and return a HTTP response.

This exception is an implementation detail.

The public API is process_request().

status#

HTTP status code.

Type

HTTPStatus

headers#

HTTP response headers.

Type

Headers

body#

HTTP response body.

Type

bytes

exception websockets.exceptions.ConnectionClosed(rcvd, sent, rcvd_then_sent=None)#

Raised when trying to interact with a closed connection.

rcvd#

if a close frame was received, its code and reason are available in rcvd.code and rcvd.reason.

Type

Optional[Close]

sent#

if a close frame was sent, its code and reason are available in sent.code and sent.reason.

Type

Optional[Close]

rcvd_then_sent#

if close frames were received and sent, this attribute tells in which order this happened, from the perspective of this side of the connection.

Type

Optional[bool]

exception websockets.exceptions.ConnectionClosedError(rcvd, sent, rcvd_then_sent=None)#

Like ConnectionClosed, when the connection terminated with an error.

A close code other than 1000 (OK) or 1001 (going away) was received or sent, or the closing handshake didn’t complete properly.

exception websockets.exceptions.ConnectionClosedOK(rcvd, sent, rcvd_then_sent=None)#

Like ConnectionClosed, when the connection terminated properly.

A close code 1000 (OK) or 1001 (going away) was received and sent.

exception websockets.exceptions.DuplicateParameter(name)#

Raised when a parameter name is repeated in an extension header.

exception websockets.exceptions.InvalidHandshake#

Raised during the handshake when the WebSocket connection fails.

exception websockets.exceptions.InvalidHeader(name, value=None)#

Raised when a HTTP header doesn’t have a valid format or value.

exception websockets.exceptions.InvalidHeaderFormat(name, error, header, pos)#

Raised when a HTTP header cannot be parsed.

The format of the header doesn’t match the grammar for that header.

exception websockets.exceptions.InvalidHeaderValue(name, value=None)#

Raised when a HTTP header has a wrong value.

The format of the header is correct but a value isn’t acceptable.

exception websockets.exceptions.InvalidMessage#

Raised when a handshake request or response is malformed.

exception websockets.exceptions.InvalidOrigin(origin)#

Raised when the Origin header in a request isn’t allowed.

exception websockets.exceptions.InvalidParameterName(name)#

Raised when a parameter name in an extension header is invalid.

exception websockets.exceptions.InvalidParameterValue(name, value)#

Raised when a parameter value in an extension header is invalid.

exception websockets.exceptions.InvalidState#

Raised when an operation is forbidden in the current state.

This exception is an implementation detail.

It should never be raised in normal circumstances.

exception websockets.exceptions.InvalidStatus(response)#

Raised when a handshake response rejects the WebSocket upgrade.

exception websockets.exceptions.InvalidStatusCode(status_code, headers)#

Raised when a handshake response status code is invalid.

exception websockets.exceptions.InvalidURI(uri, msg)#

Raised when connecting to an URI that isn’t a valid WebSocket URI.

exception websockets.exceptions.InvalidUpgrade(name, value=None)#

Raised when the Upgrade or Connection header isn’t correct.

exception websockets.exceptions.NegotiationError#

Raised when negotiating an extension fails.

exception websockets.exceptions.PayloadTooBig#

Raised when receiving a frame with a payload exceeding the maximum size.

exception websockets.exceptions.ProtocolError#

Raised when a frame breaks the protocol.

exception websockets.exceptions.RedirectHandshake(uri)#

Raised when a handshake gets redirected.

This exception is an implementation detail.

exception websockets.exceptions.SecurityError#

Raised when a handshake request or response breaks a security rule.

Security limits are hard coded.

exception websockets.exceptions.WebSocketException#

Base class for all exceptions defined by websockets.

websockets.exceptions.WebSocketProtocolError#

alias of websockets.exceptions.ProtocolError