-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun.py
28 lines (22 loc) · 794 Bytes
/
run.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from http.server import HTTPServer
import socket
from ChunkedUploadHandler import ChunkedUploadHandler
def get_ip_addresses():
"""Get all available IP addresses of the machine."""
hostname = socket.gethostname()
addresses = socket.getaddrinfo(hostname, None, family=socket.AF_INET)
ips = set([addr[4][0] for addr in addresses])
ips.add('localhost')
return ips
def run_server(port=8000):
# Bind to all interfaces
server_address = ('0.0.0.0', port)
httpd = HTTPServer(server_address, ChunkedUploadHandler)
# Print all available addresses
ips = get_ip_addresses()
print("Server running on:")
for ip in sorted(ips):
print(f" -> http://{ip}:{port}")
httpd.serve_forever()
if __name__ == "__main__":
run_server()