Skip to content

miphreal/aiorest

 
 

Repository files navigation

aiorest

JSON REST framework based on aiohttp (an asyncio (PEP 3156) http server).

https://travis-ci.org/aio-libs/aiorest.svg?branch=master

Example usage

Simple REST server can be run like this:

import asyncio
import aiohttp
import aiorest


# define a simple request handler
# which accept no arguments
# and responds with json
def hello(request):
    return {'hello': 'world'}


loop = asyncio.get_event_loop()
server = aiorest.RESTServer(hostname='127.0.0.1',
                            loop=loop)

# configure routes
server.add_url('GET', '/hello', hello)
# create server
srv = loop.run_until_complete(loop.create_server(
    server.make_handler, '127.0.0.1', 8080))


@asyncio.coroutine
def query():
    resp = yield from aiohttp.request(
        'GET', 'http://127.0.0.1:8080/hello', loop=loop)
    data = yield from resp.read_and_close(decode=True)
    print(data)


loop.run_until_complete(query())
srv.close()
loop.run_until_complete(srv.wait_closed())
loop.close()

this will print {'hello': 'world'} json

See examples for more.

Requirements

License

aiorest is offered under the MIT license.

About

REST interface for server based on aiohttp

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 100.0%