import socket, time, sys
port = int(sys.argv[1])
srv = socket.socket()
srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
srv.bind(("127.0.0.1", port))
srv.listen(1)
conn, _ = srv.accept()
try:
conn.recv(65536)
body = (
'data: {"choices":[{"delta":{"content":"第一段内容"},"finish_reason":null}]}\n\n'
'data: {"choices":[{"delta":{"content":"第二段内容"},"finish_reason":null}]}\n\n'
)
conn.sendall(b"HTTP/1.1 200 OK\r\nContent-Type: text/event-stream\r\nTransfer-Encoding: chunked\r\n\r\n")
chunk = hex(len(body.encode()))[2:] + "\r\n" + body + "\r\n"
conn.sendall(chunk.encode())
print("stalled: sent content, no [DONE], no finish_reason", flush=True)
time.sleep(300)
except Exception as e:
print("proxy err:", e, flush=True)