|
@@ -1,8 +1,7 @@
|
|
|
-import os
|
|
|
import sys
|
|
|
from functools import partial
|
|
|
from random import randint
|
|
|
-from weppy import App, request, response
|
|
|
+from weppy import App, Pipe, request, response
|
|
|
from weppy.orm import Database, Model, Field, rowmethod
|
|
|
from weppy.tools import service
|
|
|
from email.utils import formatdate
|
|
@@ -34,6 +33,11 @@ class Fortune(Model):
|
|
|
return {'id': row.id, 'message': row.message}
|
|
|
|
|
|
|
|
|
+class DateHeaderPipe(Pipe):
|
|
|
+ def open(self):
|
|
|
+ response.headers["Date"] = formatdate(timeval=None, localtime=False, usegmt=True)
|
|
|
+
|
|
|
+
|
|
|
app.config.handle_static = False
|
|
|
app.config.db.adapter = 'postgres:psycopg2' \
|
|
|
if not _is_pypy else 'postgres:pg8000'
|
|
@@ -43,6 +47,8 @@ app.config.db.password = 'benchmarkdbpass'
|
|
|
app.config.db.database = 'hello_world'
|
|
|
app.config.db.pool_size = 100
|
|
|
|
|
|
+app.pipeline = [DateHeaderPipe()]
|
|
|
+
|
|
|
db = Database(app, auto_migrate=False)
|
|
|
db.define_models(World, Fortune)
|
|
|
|
|
@@ -50,14 +56,12 @@ db.define_models(World, Fortune)
|
|
|
@app.route()
|
|
|
@service.json
|
|
|
def json():
|
|
|
- response.headers["Date"] = formatdate(timeval=None, localtime=False, usegmt=True)
|
|
|
return {'message': 'Hello, World!'}
|
|
|
|
|
|
|
|
|
@app.route("/db", pipeline=[db.pipe])
|
|
|
@service.json
|
|
|
def get_random_world():
|
|
|
- response.headers["Date"] = formatdate(timeval=None, localtime=False, usegmt=True)
|
|
|
return World.get(randint(1, 10000)).serialize()
|
|
|
|
|
|
|
|
@@ -76,7 +80,6 @@ def get_qparam():
|
|
|
@app.route("/queries", pipeline=[db.pipe])
|
|
|
@service.json
|
|
|
def get_random_worlds():
|
|
|
- response.headers["Date"] = formatdate(timeval=None, localtime=False, usegmt=True)
|
|
|
num_queries = get_qparam()
|
|
|
worlds = [
|
|
|
World.get(randint(1, 10000)).serialize() for _ in xrange(num_queries)]
|
|
@@ -85,7 +88,6 @@ def get_random_worlds():
|
|
|
|
|
|
@app.route(pipeline=[db.pipe])
|
|
|
def fortunes():
|
|
|
- response.headers["Date"] = formatdate(timeval=None, localtime=False, usegmt=True)
|
|
|
fortunes = Fortune.all().select()
|
|
|
fortunes.append(
|
|
|
Fortune.new(id=0, message="Additional fortune added at request time."))
|
|
@@ -96,7 +98,6 @@ def fortunes():
|
|
|
@app.route(pipeline=[db.pipe])
|
|
|
@service.json
|
|
|
def updates():
|
|
|
- response.headers["Date"] = formatdate(timeval=None, localtime=False, usegmt=True)
|
|
|
num_queries = get_qparam()
|
|
|
worlds = []
|
|
|
rp = partial(randint, 1, 10000)
|
|
@@ -111,7 +112,6 @@ def updates():
|
|
|
|
|
|
@app.route()
|
|
|
def plaintext():
|
|
|
- response.headers["Date"] = formatdate(timeval=None, localtime=False, usegmt=True)
|
|
|
response.headers["Content-Type"] = "text/plain"
|
|
|
return 'Hello, World!'
|
|
|
|