retry content type
This commit is contained in:
parent
97563dec60
commit
df153d5a12
21
stream.py
21
stream.py
@ -48,14 +48,18 @@ class ProxyElem():
|
|||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return str(self.proxy)
|
return str(self.proxy)
|
||||||
async def content_type(self, url):
|
async def content_type(self, url):
|
||||||
ctype = "binary/octet-stream"
|
ctype = None
|
||||||
try:
|
async with self.session() as session:
|
||||||
async with self.session() as session:
|
for i in range(5):
|
||||||
resp = await session.head(url)
|
try:
|
||||||
ctype = resp.headers.get("Content-Type", "binary/octet-stream")
|
resp = await session.head(url)
|
||||||
except Exception as e:
|
ctype = resp.headers.get("Content-Type", None)
|
||||||
logger.info(e)
|
except Exception as e:
|
||||||
return ctype
|
logger.info(e)
|
||||||
|
else:
|
||||||
|
if isinstance(ctype, str):
|
||||||
|
return ctype
|
||||||
|
return "binary/octet-type"
|
||||||
async def proxy_url(self, current, path):
|
async def proxy_url(self, current, path):
|
||||||
jdata = None
|
jdata = None
|
||||||
data = {}
|
data = {}
|
||||||
@ -348,7 +352,6 @@ class MainHandler(tornado.web.RequestHandler):
|
|||||||
else:
|
else:
|
||||||
upstream_proxy = await handler.proxy.proxy_url(upstream, None)
|
upstream_proxy = await handler.proxy.proxy_url(upstream, None)
|
||||||
ctype = await handler.proxy.content_type(upstream_proxy)
|
ctype = await handler.proxy.content_type(upstream_proxy)
|
||||||
logger.info(upstream_proxy)
|
|
||||||
data = None
|
data = None
|
||||||
if "mpegurl" in ctype.lower():
|
if "mpegurl" in ctype.lower():
|
||||||
data = await rewrite(upstream, handler.proxy)
|
data = await rewrite(upstream, handler.proxy)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user