Replace TestHTTPMockServer with python script
This seems to work fine in a `nix build`-sandbox as it doesn't depend on `getprotobyname`.
This commit is contained in:
35
t/jobs/server.py
Normal file
35
t/jobs/server.py
Normal file
@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
from http.server import BaseHTTPRequestHandler, HTTPServer
|
||||
from sys import argv
|
||||
|
||||
|
||||
def factory(file):
|
||||
h = handler
|
||||
h.file = file
|
||||
return h
|
||||
|
||||
|
||||
class handler(BaseHTTPRequestHandler):
|
||||
def do_POST(self):
|
||||
self.send_response(200)
|
||||
self.send_header('Content-type', 'application/json')
|
||||
with open(self.file, 'w+') as f:
|
||||
f.write(f"{self.path}\n")
|
||||
length = int(self.headers.get('content-length', 0))
|
||||
body = str(self.rfile.read(length).decode("utf-8"))
|
||||
|
||||
f.write(f"{body}")
|
||||
self.end_headers()
|
||||
|
||||
message = "{}"
|
||||
self.wfile.write(bytes(message, "utf8"))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
assert len(argv) > 1
|
||||
with HTTPServer(('localhost', 8282), factory(argv[1])) as server:
|
||||
server.serve_forever()
|
||||
except KeyboardInterrupt:
|
||||
pass
|
Reference in New Issue
Block a user