def testPipeProxy(self): class OhToZero(Pipe): def to_client(self, data): data = data.replace('o', '0') data = data.replace('O', '0') return data # Start proxy with pipe proxy = PlumbingServer('google.com', '80', 'localhost', '8080') proxy.add_pipe(OhToZero()) proxy_thread = threading.Thread(target=proxy.serve_forever) proxy_thread.daemon = True proxy_thread.start() try: # Connect to the proxy sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(('localhost', 8080)) sock.sendall('GET /index.html\r\n') data = sock.recv(1024) sock.close() finally: # Stop proxy proxy.shutdown() self.assertTrue(data.find('g00gle') != -1)