|
1 | 1 | import aiohttp
|
2 | 2 | import logging
|
| 3 | +import urllib.parse |
3 | 4 |
|
4 | 5 | from tusclient.client import TusClient
|
5 | 6 | from tusclient.exceptions import TusCommunicationError
|
@@ -36,23 +37,27 @@ async def _read_response(self, response):
|
36 | 37 | return response.status, data
|
37 | 38 |
|
38 | 39 | async def get(self, url):
|
39 |
| - response = await self.session.get(f"{self.api_url}{url}", headers=self._headers, allow_redirects=False) |
| 40 | + full_url = urllib.parse.urljoin(self.api_url, url) |
| 41 | + response = await self.session.get(full_url, headers=self._headers, allow_redirects=False) |
40 | 42 | return await self._read_response(response)
|
41 | 43 |
|
42 | 44 | async def post(self, url, json):
|
| 45 | + full_url = urllib.parse.urljoin(self.api_url, url) |
43 | 46 | response = await self.session.post(
|
44 |
| - f"{self.api_url}{url}", json=json, headers=self._headers, allow_redirects=False |
| 47 | + full_url, json=json, headers=self._headers, allow_redirects=False |
45 | 48 | )
|
46 | 49 | return await self._read_response(response)
|
47 | 50 |
|
48 | 51 | async def put(self, url, json):
|
| 52 | + full_url = urllib.parse.urljoin(self.api_url, url) |
49 | 53 | response = await self.session.put(
|
50 |
| - f"{self.api_url}{url}", json=json, headers=self._headers, allow_redirects=False |
| 54 | + full_url, json=json, headers=self._headers, allow_redirects=False |
51 | 55 | )
|
52 | 56 | return await self._read_response(response)
|
53 | 57 |
|
54 | 58 | def tus_upload(self, upload_token, fullpath, filename):
|
55 |
| - tus = TusClient(f"{self.tus_url}/new-package/tus/") |
| 59 | + full_url = urllib.parse.urljoin(self.tus_url,"/new-package/tus/") |
| 60 | + tus = TusClient(full_url) |
56 | 61 |
|
57 | 62 | try:
|
58 | 63 | uploader = tus.uploader(
|
|
0 commit comments