def test_client(request_uri): "A simple demonstration of a client." def printer(version, status, phrase, headers, res_pause): "Print the response headers." print "HTTP/%s" % version, status, phrase print "\n".join(["%s:%s" % header for header in headers]) print def body(chunk): print chunk def done(err): if err: print "*** ERROR: %s (%s)" % (err['desc'], err['detail']) push_tcp.stop() return body, done c = Client(printer) req_body_write, req_done = c.req_start("GET", request_uri, [], dummy) req_done(None) push_tcp.run()
] body = err['desc'] if err.has_key('detail'): body += " (%s)" % err['detail'] self.res_start(status_code, status_phrase, hdrs, dummy) self.res_body(body) self.res_done() def test_handler(method, uri, hdrs, res_start, req_pause): """ An extremely simple (and limited) server request_handler. """ code = "200" phrase = "OK" res_hdrs = [('content-type', 'text/plain'), ('version', 'HTTP/1.1')] res_body, res_done = res_start(code, phrase, res_hdrs, dummy) res_body('This is SPDY.') res_done(None) return dummy, dummy if __name__ == "__main__": logging.basicConfig() log = logging.getLogger('server') log.setLevel(logging.INFO) log.info("PID: %s\n" % os.getpid()) h, p = '0.0.0.0', int(sys.argv[1]) server = SpdyServer(h, p, test_handler, log) push_tcp.run()
status_code, status_phrase = err.get('status', ('400', 'Bad Request')) hdrs = [ ('Content-Type', 'text/plain'), ] body = err['desc'] if err.has_key('detail'): body += " (%s)" % err['detail'] self.res_start(status_code, status_phrase, hdrs, dummy) self.res_body(body) self.res_done() def test_handler(method, uri, hdrs, res_start, req_pause): """ An extremely simple (and limited) server request_handler. """ code = "200" phrase = "OK" res_hdrs = [('Content-Type', 'text/plain')] res_body, res_done = res_start(code, phrase, res_hdrs, dummy) res_body('foo!') res_done(None) return dummy, dummy if __name__ == "__main__": sys.stderr.write("PID: %s\n" % os.getpid()) h, p = '127.0.0.1', int(sys.argv[1]) server = Server(h, p, test_handler) push_tcp.run()