H2O HTTP server library
Project description
The pyh2o module provides Python binding for the H2O HTTP server. Specifically, it provides high performance HTTP 1/2 and websocket server for Python.
Prerequisites
Python 2.6+ or 3.2+
cmake 2.8.12+
Installation
pip install pyh2o
Development
Clone the repository, initialize submodules by git submodule update --init --recursive
.
Build:
python setup.py build
Test:
python setup.py test
Clean:
python setup.py clean
End to end test brings up a real server and make requests to it.
Example
Below is an example of serving static content.
import h2o
import socket
class Handler(h2o.Handler):
def on_req(self):
self.res_status = 200
self.send_inline(b'Hello, world!')
return 0
config = h2o.Config()
host = config.add_host(b'default', 65535)
host.add_path(b'/plaintext').add_handler(Handler)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
sock.bind(('127.0.0.1', 8888))
sock.listen(0)
loop = h2o.Loop()
loop.start_accept(sock.fileno(), config)
while loop.run() == 0:
pass
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyh2o-0.0.3.tar.gz
(16.6 MB
view hashes)