"""Run: python3 test_profile.py. Passive fingerprints and inert header/body intake.""" import gzip import http.client import struct import threading import xml.etree.ElementTree as ET from honeypot import ASSET_MTIME, Engine, Server from test_private_boundary import PATHS events = [] server = Server(('127.0.0.1', 0), Engine(lambda event, **data: events.append(dict(event=event, **data)))) server.serve_guest_files = False thread = threading.Thread(target=server.serve_forever, daemon=True) thread.start() def request(path, method='GET', body=None, headers=None): c = http.client.HTTPConnection('127.0.0.1', server.server_port, timeout=3) c.request(method, path, body, headers or {}) r = c.getresponse() result = r.status, dict(r.getheaders()), r.read() c.close() return result try: status, headers, html = request('/') assert status == 200 and b'