remember proxy await
This commit is contained in:
		
							
								
								
									
										10
									
								
								stream.py
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								stream.py
									
									
									
									
									
								
							@@ -82,9 +82,11 @@ class ProxyElem():
 | 
				
			|||||||
            return data["upstream"]
 | 
					            return data["upstream"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class AsyncSession():
 | 
					class AsyncSession():
 | 
				
			||||||
    def __init__(self, session, future):
 | 
					    def __init__(self, session, future, current_proxies, current_proxy):
 | 
				
			||||||
        self.session = session
 | 
					        self.session = session
 | 
				
			||||||
        self.future = future
 | 
					        self.future = future
 | 
				
			||||||
 | 
					        self.current_proxies = current_proxies
 | 
				
			||||||
 | 
					        self.current_proxy = current_proxy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
proxies = {}
 | 
					proxies = {}
 | 
				
			||||||
for key in providers:
 | 
					for key in providers:
 | 
				
			||||||
@@ -144,7 +146,7 @@ class UpstreamHandler():
 | 
				
			|||||||
                    current = proxy_list.pop()
 | 
					                    current = proxy_list.pop()
 | 
				
			||||||
                    proxy_list = [current] + proxy_list
 | 
					                    proxy_list = [current] + proxy_list
 | 
				
			||||||
                    session = current.session()
 | 
					                    session = current.session()
 | 
				
			||||||
                    delays.append(AsyncSession(session, session.head(src)))
 | 
					                    delays.append(AsyncSession(session, session.head(src), current_list, current))
 | 
				
			||||||
                for delay in delays:
 | 
					                for delay in delays:
 | 
				
			||||||
                    try:
 | 
					                    try:
 | 
				
			||||||
                        resp = await delay.future
 | 
					                        resp = await delay.future
 | 
				
			||||||
@@ -158,8 +160,8 @@ class UpstreamHandler():
 | 
				
			|||||||
                        else:
 | 
					                        else:
 | 
				
			||||||
                            self.upstream = new_url
 | 
					                            self.upstream = new_url
 | 
				
			||||||
                            self.upstream_safe = urllib.parse.quote(new_url)
 | 
					                            self.upstream_safe = urllib.parse.quote(new_url)
 | 
				
			||||||
                        self.proxy = current
 | 
					                        self.proxy = delay.current_proxy
 | 
				
			||||||
                        proxies[self.provider] = current_list
 | 
					                        proxies[self.provider] = delay.current_proxies
 | 
				
			||||||
                for delay in delays:
 | 
					                for delay in delays:
 | 
				
			||||||
                    try:
 | 
					                    try:
 | 
				
			||||||
                        await delay.session.close()
 | 
					                        await delay.session.close()
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user