The age of HTTP/1.1 is over. The time of SPDY has come.
\n \n '''.encode('UTF-8')\n\n self.wfile.write(content)\n\n if __name__ == \"__main__\":\n HOST, PORT = \"localhost\", 3000\n\n server = spdylay.ThreadedSPDYServer((HOST, PORT),\n MySPDYRequestHandler,\n cert_file=CERT_FILE,\n key_file=KEY_FILE)\n server.start()\n\nHere is a simple SPDY client::\n\n #!/usr/bin/env python\n\n # The example SPDY client. You need Python 3.3 or later because we\n # use TLS NPN.\n #\n # Usage: spdyclient.py URL...\n #\n import sys\n import spdylay\n\n class MyStreamHandler(spdylay.BaseSPDYStreamHandler):\n def on_header(self, nv):\n sys.stdout.write('Stream#{}\\n'.format(self.stream_id))\n for k, v in nv:\n sys.stdout.write('{}: {}\\n'.format(k, v))\n\n def on_data(self, data):\n sys.stdout.write('Stream#{}\\n'.format(self.stream_id))\n sys.stdout.buffer.write(data)\n\n def on_close(self, status_code):\n sys.stdout.write('Stream#{} closed\\n'.format(self.stream_id))\n\n if __name__ == '__main__':\n uris = sys.argv[1:]\n spdylay.urlfetch(uris, MyStreamHandler)", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://spdylay.sourceforge.net/", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "python-spdylay", "package_url": "https://pypi.org/project/python-spdylay/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/python-spdylay/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://spdylay.sourceforge.net/" }, "release_url": "https://pypi.org/project/python-spdylay/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "Python SPDY library on top of Spdylay C library", "version": "0.1.2" }, "last_serial": 798089, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9838791e0e1092fa33c24ef6ae562948", "sha256": "fe3cdb8ed38d1f64832ae8cc3e4323355daaff10f62c7fdf135ff892f80aed13" }, "downloads": -1, "filename": "python-spdylay-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9838791e0e1092fa33c24ef6ae562948", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129190, "upload_time": "2012-08-24T15:33:53", "url": "https://files.pythonhosted.org/packages/ac/1c/25a792948689955acac2ed91efea5c1a488c4f341051ba379e04aeab8e20/python-spdylay-0.1.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "19ef911a2e3eb41e27eee617a5087c4b", "sha256": "b03b098c1c9367094f3b18ac8b3b739c9e11135dfa15a12b1c1bd3f608137cc6" }, "downloads": -1, "filename": "python-spdylay-0.1.0.win32-py3.3.exe", "has_sig": false, "md5_digest": "19ef911a2e3eb41e27eee617a5087c4b", "packagetype": "bdist_wininst", "python_version": "3.3", "requires_python": null, "size": 324653, "upload_time": "2012-08-25T12:55:04", "url": "https://files.pythonhosted.org/packages/a9/1a/e07c39d7441f274363befcae66c86021f9622685f3b6797cc96dddc10db0/python-spdylay-0.1.0.win32-py3.3.exe" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "2c27d3e2d282747057235d39bcadb3fb", "sha256": "17659be984b331ce602fa0d232deb54560ab4b010e4b59db370ad415654ecb86" }, "downloads": -1, "filename": "python-spdylay-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2c27d3e2d282747057235d39bcadb3fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152312, "upload_time": "2012-08-28T13:55:01", "url": "https://files.pythonhosted.org/packages/f6/b3/fb923f529853f960018ee4d20dbb0d34585266ebf26cf02233355d58deaf/python-spdylay-0.1.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "f6d2b7011f3a4a9801a818761a19a58c", "sha256": "31b45b38304c1c9caa30634c3821a4e61e82154e7bb1c9c9788d8aad63901d11" }, "downloads": -1, "filename": "python-spdylay-0.1.1.win32-py3.3.exe", "has_sig": false, "md5_digest": "f6d2b7011f3a4a9801a818761a19a58c", "packagetype": "bdist_wininst", "python_version": "3.3", "requires_python": null, "size": 342125, "upload_time": "2012-08-28T15:54:37", "url": "https://files.pythonhosted.org/packages/f7/20/23f6b3028a5b62c4d4fc451dd50bceae17604dbf9b009921b0faa7f912b2/python-spdylay-0.1.1.win32-py3.3.exe" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "af3be8ea01d74c495f8d5918962ef54d", "sha256": "019c4d32588edf3ed915d7c053bca607665cefd3fffcabb1b656da0c20625dd5" }, "downloads": -1, "filename": "python-spdylay-0.1.2.tar.gz", "has_sig": false, "md5_digest": "af3be8ea01d74c495f8d5918962ef54d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152268, "upload_time": "2012-09-13T14:08:48", "url": "https://files.pythonhosted.org/packages/73/0b/ad7143c051e8a0085f8823f12bb6a20daf5539c188a4f479109c089c80c6/python-spdylay-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "af3be8ea01d74c495f8d5918962ef54d", "sha256": "019c4d32588edf3ed915d7c053bca607665cefd3fffcabb1b656da0c20625dd5" }, "downloads": -1, "filename": "python-spdylay-0.1.2.tar.gz", "has_sig": false, "md5_digest": "af3be8ea01d74c495f8d5918962ef54d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 152268, "upload_time": "2012-09-13T14:08:48", "url": "https://files.pythonhosted.org/packages/73/0b/ad7143c051e8a0085f8823f12bb6a20daf5539c188a4f479109c089c80c6/python-spdylay-0.1.2.tar.gz" } ] }