Merge pull request #4 from 7shi/add-timeout

Add timeout settings to HTTP requests
This commit is contained in:
Markus Pfundstein
2024-12-01 20:01:55 +01:00
committed by GitHub

View File

@@ -16,6 +16,7 @@ class Obsidian():
self.host = host self.host = host
self.port = port self.port = port
self.verify_ssl = verify_ssl self.verify_ssl = verify_ssl
self.timeout = (3, 6)
def get_base_url(self) -> str: def get_base_url(self) -> str:
return f'{self.protocol}://{self.host}:{self.port}' return f'{self.protocol}://{self.host}:{self.port}'
@@ -41,7 +42,7 @@ class Obsidian():
url = f"{self.get_base_url()}/vault/" url = f"{self.get_base_url()}/vault/"
def call_fn(): def call_fn():
response = requests.get(url, headers=self._get_headers(), verify=self.verify_ssl) response = requests.get(url, headers=self._get_headers(), verify=self.verify_ssl, timeout=self.timeout)
response.raise_for_status() response.raise_for_status()
return response.json()['files'] return response.json()['files']
@@ -53,7 +54,7 @@ class Obsidian():
url = f"{self.get_base_url()}/vault/{dirpath}/" url = f"{self.get_base_url()}/vault/{dirpath}/"
def call_fn(): def call_fn():
response = requests.get(url, headers=self._get_headers(), verify=self.verify_ssl) response = requests.get(url, headers=self._get_headers(), verify=self.verify_ssl, timeout=self.timeout)
response.raise_for_status() response.raise_for_status()
return response.json()['files'] return response.json()['files']
@@ -64,7 +65,7 @@ class Obsidian():
url = f"{self.get_base_url()}/vault/{filepath}" url = f"{self.get_base_url()}/vault/{filepath}"
def call_fn(): def call_fn():
response = requests.get(url, headers=self._get_headers(), verify=self.verify_ssl) response = requests.get(url, headers=self._get_headers(), verify=self.verify_ssl, timeout=self.timeout)
response.raise_for_status() response.raise_for_status()
return response.text return response.text
@@ -79,7 +80,7 @@ class Obsidian():
} }
def call_fn(): def call_fn():
response = requests.post(url, headers=self._get_headers(), params=params, verify=self.verify_ssl) response = requests.post(url, headers=self._get_headers(), params=params, verify=self.verify_ssl, timeout=self.timeout)
response.raise_for_status() response.raise_for_status()
return response.json() return response.json()
@@ -93,7 +94,8 @@ class Obsidian():
url, url,
headers=self._get_headers() | {'Content-Type': 'text/markdown'}, headers=self._get_headers() | {'Content-Type': 'text/markdown'},
data=content, data=content,
verify=self.verify_ssl verify=self.verify_ssl,
timeout=self.timeout
) )
response.raise_for_status() response.raise_for_status()
return None return None
@@ -111,7 +113,7 @@ class Obsidian():
} }
def call_fn(): def call_fn():
response = requests.patch(url, headers=headers, data=content, verify=self.verify_ssl) response = requests.patch(url, headers=headers, data=content, verify=self.verify_ssl, timeout=self.timeout)
response.raise_for_status() response.raise_for_status()
return None return None
@@ -125,7 +127,7 @@ class Obsidian():
} }
def call_fn(): def call_fn():
response = requests.post(url, headers=headers, json=query, verify=self.verify_ssl) response = requests.post(url, headers=headers, json=query, verify=self.verify_ssl, timeout=self.timeout)
response.raise_for_status() response.raise_for_status()
return response.json() return response.json()