diff --git a/watcherclient/common/httpclient.py b/watcherclient/common/httpclient.py index 674a992..f9ee71b 100644 --- a/watcherclient/common/httpclient.py +++ b/watcherclient/common/httpclient.py @@ -20,6 +20,7 @@ import http.client import io import logging import os +import re import socket import ssl import textwrap @@ -61,7 +62,7 @@ SUPPORTED_ENDPOINT_SCHEME = ('http', 'https') def _trim_endpoint_api_version(url): """Trim API version and trailing slash from endpoint.""" - return url.rstrip('/').rstrip(API_VERSION) + return re.sub(f'{API_VERSION}$', '', url.rstrip('/')) def _extract_error_json(body): diff --git a/watcherclient/tests/unit/test_client.py b/watcherclient/tests/unit/test_client.py index 4d12419..fd229b6 100644 --- a/watcherclient/tests/unit/test_client.py +++ b/watcherclient/tests/unit/test_client.py @@ -358,3 +358,8 @@ class ClientTest(utils.BaseTestCase): client = httpclient.HTTPClient(endpoint) conn_url = client._make_connection_url(url) self.assertEqual(expected_url, conn_url) + + def test_port_ends_with_one(self): + endpoint = "http://localhost:8081/" + http_client = httpclient.HTTPClient(endpoint) + self.assertEqual(endpoint, http_client._make_connection_url(""))