fix(auth): add token authorization header in request preparation to ensure authenticated requests are made
This commit is contained in:
@@ -73,6 +73,8 @@ class Crawl4aiDockerClient:
|
|||||||
def _prepare_request(self, urls: List[str], browser_config: Optional[BrowserConfig] = None,
|
def _prepare_request(self, urls: List[str], browser_config: Optional[BrowserConfig] = None,
|
||||||
crawler_config: Optional[CrawlerRunConfig] = None) -> Dict[str, Any]:
|
crawler_config: Optional[CrawlerRunConfig] = None) -> Dict[str, Any]:
|
||||||
"""Prepare request data from configs."""
|
"""Prepare request data from configs."""
|
||||||
|
if self._token:
|
||||||
|
self._http_client.headers["Authorization"] = f"Bearer {self._token}"
|
||||||
return {
|
return {
|
||||||
"urls": urls,
|
"urls": urls,
|
||||||
"browser_config": browser_config.dump() if browser_config else {},
|
"browser_config": browser_config.dump() if browser_config else {},
|
||||||
@@ -103,8 +105,6 @@ class Crawl4aiDockerClient:
|
|||||||
crawler_config: Optional[CrawlerRunConfig] = None
|
crawler_config: Optional[CrawlerRunConfig] = None
|
||||||
) -> Union[CrawlResult, List[CrawlResult], AsyncGenerator[CrawlResult, None]]:
|
) -> Union[CrawlResult, List[CrawlResult], AsyncGenerator[CrawlResult, None]]:
|
||||||
"""Execute a crawl operation."""
|
"""Execute a crawl operation."""
|
||||||
if not self._token:
|
|
||||||
raise Crawl4aiClientError("Authentication required. Call authenticate() first.")
|
|
||||||
await self._check_server()
|
await self._check_server()
|
||||||
|
|
||||||
data = self._prepare_request(urls, browser_config, crawler_config)
|
data = self._prepare_request(urls, browser_config, crawler_config)
|
||||||
@@ -140,8 +140,6 @@ class Crawl4aiDockerClient:
|
|||||||
|
|
||||||
async def get_schema(self) -> Dict[str, Any]:
|
async def get_schema(self) -> Dict[str, Any]:
|
||||||
"""Retrieve configuration schemas."""
|
"""Retrieve configuration schemas."""
|
||||||
if not self._token:
|
|
||||||
raise Crawl4aiClientError("Authentication required. Call authenticate() first.")
|
|
||||||
response = await self._request("GET", "/schema")
|
response = await self._request("GET", "/schema")
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@@ -167,4 +165,4 @@ async def main():
|
|||||||
print(schema)
|
print(schema)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
asyncio.run(main())
|
asyncio.run(main())
|
||||||
|
|||||||
Reference in New Issue
Block a user