Add timeout settings to all requests in Obsidian Local REST API
This commit is contained in:
@@ -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 = (5, 15)
|
||||||
|
|
||||||
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()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user