Initial Dever 0.0.1

This commit is contained in:
Codex committed 2026-11-03 03:32:07 +00:00
commit 81233d098c
1479 files changed
+163782

No files matched your search

+61
View File
@@ -0,0 +1,61 @@
"""仅为安装验收控制下载边界;工具链内容仍来自官方源。"""
from functools import partial
from http.server import SimpleHTTPRequestHandler, ThreadingHTTPServer
from pathlib import Path
import threading
import time
WORK = Path('/work')
lock = threading.Lock()
active = 0
class Handler(SimpleHTTPRequestHandler):
def do_GET(self):
global active
environment = self.path.startswith(('/dist/', '/dever-native-'))
if environment and (WORK / 'reject-environment').exists():
self.send_error(404, 'intentional preparation failure')
return
archive = environment and self.path.endswith('.tar.xz')
if archive:
with lock:
active += 1
if active >= 2:
(WORK / 'parallel-downloads').touch()
try:
while (WORK / 'hold-environment').exists():
time.sleep(0.1)
self.download()
finally:
with lock:
active -= 1
else:
self.download()
def download(self):
if self.path.startswith('/dist/'):
self.send_response(302)
self.send_header('Location', 'https://static.rust-lang.org' + self.path)
self.end_headers()
return
resume = self.headers.get('Range')
if resume and self.path.startswith('/dever-native-'):
offset = int(resume.removeprefix('bytes=').removesuffix('-'))
path = Path(self.translate_path(self.path))
size = path.stat().st_size
(WORK / 'resumed-offset').write_text(str(offset))
self.send_response(206)
self.send_header('Content-Range', f'bytes {offset}-{size - 1}/{size}')
self.send_header('Content-Length', str(size - offset))
self.end_headers()
with path.open('rb') as source:
source.seek(offset)
self.copyfile(source, self.wfile)
return
super().do_GET()
ThreadingHTTPServer(('127.0.0.1', 18080), partial(Handler, directory='/work/assets')).serve_forever()