File size: 1,232 Bytes
5e56bcf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from http.server import BaseHTTPRequestHandler, HTTPServer
import json
import threading
import time

class MockGumroadHandler(BaseHTTPRequestHandler):
    def do_POST(self):
        # Read request body
        content_length = int(self.headers['Content-Length'])
        post_data = self.rfile.read(content_length).decode('utf-8')
        
        # Simple mock logic
        response = {}
        if "license_key=TEST-PRO-KEY" in post_data:
            response = {
                "success": True,
                "uses": 1,
                "purchase": {
                    "email": "test@example.com",
                    "created_at": "2023-01-01"
                }
            }
        else:
            response = {
                "success": False,
                "message": "Invalid license"
            }
            
        self.send_response(200)
        self.send_header('Content-type', 'application/json')
        self.end_headers()
        self.wfile.write(json.dumps(response).encode('utf-8'))

def run_mock_server(port=8000):
    server = HTTPServer(('localhost', port), MockGumroadHandler)
    thread = threading.Thread(target=server.serve_forever)
    thread.daemon = True
    thread.start()
    return server