Skip to content

Commit

Permalink
Ability to user awxkit with websocket custom urls
Browse files Browse the repository at this point in the history
  • Loading branch information
CFSNM authored and dmzoneill committed Feb 20, 2024
1 parent 81d88df commit f78ba28
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 2 deletions.
14 changes: 12 additions & 2 deletions awxkit/awxkit/ws.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,16 @@ class WSClient(object):
# Subscription group types

def __init__(
self, token=None, hostname='', port=443, secure=True, session_id=None, csrftoken=None, add_received_time=False, session_cookie_name='awx_sessionid'
self,
token=None,
hostname='',
port=443,
secure=True,
ws_suffix='websocket/',
session_id=None,
csrftoken=None,
add_received_time=False,
session_cookie_name='awx_sessionid',
):
# delay this import, because this is an optional dependency
import websocket
Expand All @@ -68,6 +77,7 @@ def __init__(
hostname = result.hostname

self.port = port
self.suffix = ws_suffix
self._use_ssl = secure
self.hostname = hostname
self.token = token
Expand All @@ -85,7 +95,7 @@ def __init__(
else:
auth_cookie = ''
pref = 'wss://' if self._use_ssl else 'ws://'
url = '{0}{1.hostname}:{1.port}/websocket/'.format(pref, self)
url = '{0}{1.hostname}:{1.port}/{1.suffix}'.format(pref, self)
self.ws = websocket.WebSocketApp(
url, on_open=self._on_open, on_message=self._on_message, on_error=self._on_error, on_close=self._on_close, cookie=auth_cookie
)
Expand Down
5 changes: 5 additions & 0 deletions awxkit/test/test_ws.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ def test_explicit_hostname():
assert client.token == "token"


def test_websocket_suffix():
client = WSClient("token", "hostname", 566, ws_suffix='my-websocket/')
assert client.suffix == 'my-websocket/'


@pytest.mark.parametrize(
'url, result',
[
Expand Down

0 comments on commit f78ba28

Please sign in to comment.