python plus json

We’ll start a server to take JSON-RPC requests. It should respond to “ping” with “pong”.

We’ll use Python’s built-in http.server module, so no web framework is required - only jsonrpcserver to process the messages:

$ pip install jsonrpcserver

Create a

"""Using Python's built-in HTTPServer"""
from http.server import BaseHTTPRequestHandler, HTTPServer
from jsonrpcserver import method, dispatch

def ping():
    return "pong"

class TestHttpServer(BaseHTTPRequestHandler):
    def do_POST(self):
        # Process request
        request =["Content-Length"])).decode()
        response = dispatch(request)
        # Return response
        self.send_header("Content-type", "application/json")

if __name__ == "__main__":
    HTTPServer(("localhost", 5000), TestHttpServer).serve_forever()

Start the server:

$ python


Use jsonrpcclient to send requests:

$ pip install "jsonrpcclient[requests]"
$ python
>>> from jsonrpcclient import request
>>> request("http://localhost:5000", "ping").data.result