jarvis-core/jarvis_core/util/http.py
2022-03-10 17:16:47 -07:00

27 lines
582 B
Python

"""HTTP helper methods."""
from aiohttp import ClientSession
from jarvis_core.filters import url
async def get_size(link: str) -> int:
"""
Get the url filesize.
Args:
link: URL to get
Returns:
Size in bytes
Raises:
Exception: On status code
ValueError: On bad URL
"""
if not url.match(link):
raise ValueError("Invalid URL.")
async with ClientSession() as session:
resp = await session.get(link)
resp.raise_for_status()
return resp.content_length or -1