Daniel Thornburgh 32a02a9c6b [Debuginfod] DEBUGINFOD_HEADERS_FILE environment variable
This change adds a DEBUGINFOD_HEADERS_FILE environment variable provides
a file containing HTTP headers to attach to outgoing HTTP requests, one
per line. This allows a file permissioned with OS access control
mechanisms to supply bearer credentials for Debuginfod requests.

This matches the mechanism recently added to elfutils' libdebuginfod.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D136303
2022-11-07 16:34:37 -08:00

24 lines
579 B
Python

import http.server
import os
import subprocess
import sys
import threading
class TrivialHandler(http.server.BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(501)
def log_request(self, *args, **kwargs):
print(self.requestline)
print(self.headers)
httpd = http.server.HTTPServer(('', 0), TrivialHandler)
port = httpd.socket.getsockname()[1]
try:
t = threading.Thread(target=httpd.serve_forever).start()
os.environ['DEBUGINFOD_URLS'] =f'http://localhost:{port}'
subprocess.run(sys.argv[1:], capture_output = True)
finally:
httpd.shutdown()