Skip to main content

jsonrpc implementation for tornado

Project description

JSON RPC implementation for tornado

This implementation follow JSONRPC 2.0 specification.

REQUIREMENTS

python >= 3.5 (async/await is used in the package)

INSTALLATION

pip install tornado_jsonrpc

USAGE

It is so simple:

  1. Just create views.py

     def some_view(request: RequestHandler, *args, **kwargs):  # 
         """
         args: positional params, which You pass when call jsonrpc method
         kwargs: named params, which You pass when call jsonrpc method
         """
    
         return {'foo': 'bar'}  # any JSON serializable object (dict or list for example)
    
  2. And then create tornado_app.py, where You define tornado Application:

     from tornado_jsonrpc import JSONRPCHandler
     from tornado.ioloop import IOLoop
     from tornado.web import Application
    
     from your_package import views
    
     Application(
         [
             ('/api', views.JSONRPCHandler, dict(views=views)),
         ],
     ).listen(8888)
    
     IOLoop.current().start()
    
  3. You can also use CORSIgnoreJSONRPCHandler to receive requests from all sources or WithCredentialsJSONRPCHandler to also receive cookies with request.

CONTRIBUTE

If You have found an error or want to offer changes - create a pull request, and I will review it as soon as possible!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Built Distribution

tornado_jsonrpc-1.0.5-py2.py3-none-any.whl (7.6 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page