|
@@ -1,9 +1,6 @@
|
|
|
import logging
|
|
|
import asyncio
|
|
|
-
|
|
|
-from aiohttp.web import Response
|
|
|
-from api_hour.plugins.aiohttp import JSON
|
|
|
-import aiohttp_jinja2
|
|
|
+import ujson
|
|
|
|
|
|
from ..services import queries_number
|
|
|
from ..services.world import get_random_record, get_random_records, update_random_records, get_fortunes
|
|
@@ -11,76 +8,32 @@ from ..services import redis
|
|
|
|
|
|
LOG = logging.getLogger(__name__)
|
|
|
|
|
|
[email protected]
|
|
|
-def json(request):
|
|
|
- """Test type 1: JSON serialization"""
|
|
|
- return JSON({'message': 'Hello, World!'})
|
|
|
-
|
|
|
@asyncio.coroutine
|
|
|
def db(request):
|
|
|
"""Test type 2: Single database query"""
|
|
|
container = request.app.ah_container
|
|
|
|
|
|
- return JSON((yield from get_random_record(container)))
|
|
|
-
|
|
|
[email protected]
|
|
|
-def db_redis(request):
|
|
|
- """Test type 2: Single database query"""
|
|
|
- container = request.app.ah_container
|
|
|
-
|
|
|
- return JSON((yield from redis.get_random_record(container)))
|
|
|
+ return ujson.dumps((yield from get_random_record(container)))
|
|
|
|
|
|
@asyncio.coroutine
|
|
|
def queries(request):
|
|
|
"""Test type 3: Multiple database queries"""
|
|
|
container = request.app.ah_container
|
|
|
- limit = queries_number(request.GET.get('queries', 1))
|
|
|
-
|
|
|
- return JSON((yield from get_random_records(container, limit)))
|
|
|
-
|
|
|
[email protected]
|
|
|
-def queries_redis(request):
|
|
|
- """Test type 3: Multiple database queries"""
|
|
|
- container = request.app.ah_container
|
|
|
- limit = queries_number(request.GET.get('queries', 1))
|
|
|
+ limit = queries_number(request.params.get('queries', 1))
|
|
|
|
|
|
- return JSON((yield from redis.get_random_records(container, limit)))
|
|
|
+ return ujson.dumps((yield from get_random_records(container, limit)))
|
|
|
|
|
|
@asyncio.coroutine
|
|
|
def fortunes(request):
|
|
|
"""Test type 4: Fortunes"""
|
|
|
container = request.app.ah_container
|
|
|
-
|
|
|
- return aiohttp_jinja2.render_template('fortunes.html.j2',
|
|
|
- request,
|
|
|
- {'fortunes': (yield from get_fortunes(container))})
|
|
|
-
|
|
|
[email protected]
|
|
|
-def fortunes_redis(request):
|
|
|
- """Test type 4: Fortunes"""
|
|
|
- container = request.app.ah_container
|
|
|
-
|
|
|
- return aiohttp_jinja2.render_template('fortunes.html.j2',
|
|
|
- request,
|
|
|
- {'fortunes': (yield from redis.get_fortunes(container))})
|
|
|
+ template = request.app['j2_env'].get_template('fortunes.html.j2')
|
|
|
+ return template.render({'fortunes': (yield from get_fortunes(container))})
|
|
|
|
|
|
@asyncio.coroutine
|
|
|
def updates(request):
|
|
|
"""Test type 5: Database updates"""
|
|
|
container = request.app.ah_container
|
|
|
- limit = queries_number(request.GET.get('queries', 1))
|
|
|
-
|
|
|
- return JSON((yield from update_random_records(container, limit)))
|
|
|
+ limit = queries_number(request.params.get('queries', 1))
|
|
|
|
|
|
[email protected]
|
|
|
-def updates_redis(request):
|
|
|
- """Test type 5: Database updates"""
|
|
|
- container = request.app.ah_container
|
|
|
- limit = queries_number(request.GET.get('queries', 1))
|
|
|
-
|
|
|
- return JSON((yield from redis.update_random_records(container, limit)))
|
|
|
-
|
|
|
[email protected]
|
|
|
-def plaintext(request):
|
|
|
- """Test type 6: Plaintext"""
|
|
|
- return Response(text='Hello, World!')
|
|
|
+ return ujson.dumps((yield from update_random_records(container, limit)))
|