reduce memory usage

This commit is contained in:
Namhyeon Go 2024-02-19 01:48:15 +09:00 committed by GitHub
parent 23a3691418
commit 5f9c5e8c35
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -252,14 +252,17 @@ def proxy_server(webserver, port, scheme, method, url, conn, addr, data):
sock.sendall(data) sock.sendall(data)
i = 0 i = 0
buffered = b''
while True: while True:
chunk = sock.recv(buffer_size) chunk = sock.recv(buffer_size)
if not chunk: if not chunk:
break break
response += chunk buffered += chunk
#if proxy_check_filtered(response, webserver, port, scheme, method, url): if proxy_check_filtered(buffered, webserver, port, scheme, method, url):
# break break
#conn.send(chunk) conn.send(chunk)
if len(buffered) > buffer_size:
buffered = buffered[:-buffer_size] # reduce memory usage
i += 1 i += 1
if not proxy_check_filtered(response, webserver, port, scheme, method, url): if not proxy_check_filtered(response, webserver, port, scheme, method, url):
@ -294,11 +297,14 @@ def proxy_server(webserver, port, scheme, method, url, conn, addr, data):
i = 0 i = 0
relay = requests.post(server_url, headers=proxy_data['headers'], data=raw_data, stream=True) relay = requests.post(server_url, headers=proxy_data['headers'], data=raw_data, stream=True)
buffered = b''
for chunk in relay.iter_content(chunk_size=buffer_size): for chunk in relay.iter_content(chunk_size=buffer_size):
response += chunk buffered += chunk
#if proxy_check_filtered(response, webserver, port, scheme, method, url): if proxy_check_filtered(buffered, webserver, port, scheme, method, url):
# break break
#conn.send(chunk) conn.send(chunk)
if len(buffered) > buffer_size:
buffered = buffered[:-buffer_size] # reduce memory usage
i += 1 i += 1
if not proxy_check_filtered(response, webserver, port, scheme, method, url): if not proxy_check_filtered(response, webserver, port, scheme, method, url):