from http.server import HTTPServer,BaseHTTPRequestHandler
import json,pathlib,time
import sys
root=pathlib.Path(sys.argv[1]); root.mkdir(parents=True,exist_ok=True)
class H(BaseHTTPRequestHandler):
 def do_GET(self):
  mode=(root/'mode').read_text().strip() if (root/'mode').exists() else 'large'
  if self.path=='/v1/me': data={'apiKeyName':'Demo account','createdAt':'2026-01-01'};code=200
  elif mode=='failed':data={'error':{'message':'Synthetic service unavailable'}};code=503
  elif mode=='empty':data={'items':[]};code=200
  else:
   names=['Current A','Current B']+(['Previous C','Previous D','Previous E'] if mode=='large' else [])
   data={'items':[{'id':n.lower().replace(' ','-'),'displayName':n} for n in names]};code=200
  with (root/'catalog-requests.log').open('a') as f:f.write(f'{time.time()} {self.path} {mode} {code}\n')
  self.send_response(code);self.send_header('Content-Type','application/json');self.end_headers();self.wfile.write(json.dumps(data).encode())
 def log_message(self,*a):pass
HTTPServer(('127.0.0.1',18999),H).serve_forever()
