36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
"""Websocket constants."""
|
|
import asyncio
|
|
from concurrent import futures
|
|
from functools import partial
|
|
import json
|
|
from homeassistant.helpers.json import JSONEncoder
|
|
|
|
DOMAIN = "websocket_api"
|
|
URL = "/api/websocket"
|
|
MAX_PENDING_MSG = 512
|
|
|
|
ERR_ID_REUSE = "id_reuse"
|
|
ERR_INVALID_FORMAT = "invalid_format"
|
|
ERR_NOT_FOUND = "not_found"
|
|
ERR_HOME_ASSISTANT_ERROR = "home_assistant_error"
|
|
ERR_UNKNOWN_COMMAND = "unknown_command"
|
|
ERR_UNKNOWN_ERROR = "unknown_error"
|
|
ERR_UNAUTHORIZED = "unauthorized"
|
|
ERR_TIMEOUT = "timeout"
|
|
|
|
TYPE_RESULT = "result"
|
|
|
|
# Define the possible errors that occur when connections are cancelled.
|
|
# Originally, this was just asyncio.CancelledError, but issue #9546 showed
|
|
# that futures.CancelledErrors can also occur in some situations.
|
|
CANCELLATION_ERRORS = (asyncio.CancelledError, futures.CancelledError)
|
|
|
|
# Event types
|
|
SIGNAL_WEBSOCKET_CONNECTED = "websocket_connected"
|
|
SIGNAL_WEBSOCKET_DISCONNECTED = "websocket_disconnected"
|
|
|
|
# Data used to store the current connection list
|
|
DATA_CONNECTIONS = DOMAIN + ".connections"
|
|
|
|
JSON_DUMP = partial(json.dumps, cls=JSONEncoder, allow_nan=False)
|