You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bazarr/libs/signalrcore/hub/auth_hub_connection.py

26 lines
964 B

from .base_hub_connection import BaseHubConnection
from ..helpers import Helpers
class AuthHubConnection(BaseHubConnection):
def __init__(self, auth_function, headers=None, **kwargs):
if headers is None:
self.headers = dict()
else:
self.headers = headers
self.auth_function = auth_function
super(AuthHubConnection, self).__init__(headers=headers, **kwargs)
def start(self):
try:
Helpers.get_logger().debug("Starting connection ...")
self.token = self.auth_function()
Helpers.get_logger()\
.debug("auth function result {0}".format(self.token))
self.headers["Authorization"] = "Bearer " + self.token
return super(AuthHubConnection, self).start()
except Exception as ex:
Helpers.get_logger().warning(self.__class__.__name__)
Helpers.get_logger().warning(str(ex))
raise ex