much cleaner

This commit is contained in:
Kenneth Reitz
2011-06-12 23:36:15 -04:00
parent 0492f24b86
commit 47348ee42b
2 changed files with 43 additions and 42 deletions
+15 -41
View File
@@ -18,7 +18,7 @@ from time import time as now
from decorator import decorator
from flask import Flask, Response, request, render_template, redirect, g
from .helpers import get_files, get_headers, status_code
from .helpers import get_files, get_headers, status_code, get_dict
app = Flask(__name__)
@@ -78,6 +78,8 @@ def gzip_response(f, *args, **kwargs):
# ------
# Routes
# ------
@@ -102,9 +104,7 @@ def view_origin():
def view_headers():
"""Returns HTTP HEADERS."""
headers = get_headers()
return dict(headers=headers)
return get_dict('headers')
@app.route('/user-agent')
@@ -114,7 +114,7 @@ def view_user_agent():
headers = get_headers()
return dict(useragent=headers['user-agent'])
return {'user-agent': headers['user-agent']}
@app.route('/get', methods=('GET',))
@@ -122,12 +122,7 @@ def view_user_agent():
def view_get():
"""Returns GET Data."""
return dict(
url=request.url,
args=request.args,
headers=get_headers(),
origin=request.remote_addr
)
return get_dict('url', 'args', 'headers', 'origin')
@@ -136,14 +131,8 @@ def view_get():
def view_post():
"""Returns POST Data."""
return dict(
url=request.url,
args=request.args,
form=request.form,
data=request.data,
origin=request.remote_addr,
headers=get_headers(),
files=get_files()
return get_dict(
'url', 'args', 'form', 'data', 'origin', 'headers', 'files'
)
@@ -152,14 +141,8 @@ def view_post():
def view_post():
"""Returns PUT Data."""
return dict(
url=request.url,
args=request.args,
form=request.form,
data=request.data,
origin=request.remote_addr,
headers=get_headers(),
files=get_files()
return get_dict(
'url', 'args', 'form', 'data', 'origin', 'headers', 'files'
)
@@ -168,14 +151,8 @@ def view_post():
def view_post():
"""Returns DETLETE Data."""
return dict(
url=request.url,
args=request.args,
form=request.form,
data=request.data,
origin=request.remote_addr,
headers=get_headers(),
files=get_files()
return get_dict(
'url', 'args', 'form', 'data', 'origin', 'headers', 'files'
)
@@ -185,18 +162,15 @@ def view_post():
def view_gzip_encoded_content():
"""Returns GZip-Encoded Data."""
return dict(
origin=request.remote_addr,
headers=get_headers(),
method=request.method,
gzipped=True
)
return get_dict('origin', 'headers', method=request.method, gzipped=True)
@app.route('/redirect/<int:n>')
def redirect_n_times(n):
"""301 Redirects n times."""
assert n > 0
n += -1
if (n == 0):
+28 -1
View File
@@ -46,6 +46,33 @@ def get_headers():
return CaseInsensitiveDict(request.headers.items())
def get_dict(*keys, **extras):
"""Returns request dict of given keys."""
_keys = ('url', 'args', 'form', 'data', 'origin', 'headers', 'files')
assert all(map(_keys.__contains__, keys))
d = dict(
url=request.url,
args=request.args,
form=request.form,
data=request.data,
origin=request.remote_addr,
headers=get_headers(),
files=get_files()
)
out_d = dict()
for key in keys:
out_d[key] = d.get(key)
out_d.update(extras)
return out_d
def status_code(code):
"""Returns response object of given status code."""
@@ -60,7 +87,7 @@ def status_code(code):
307: redirect,
401: dict(headers={'WWW-Authenticate': 'Basic realm="Fake Realm"'}),
407: dict(headers={'Proxy-Authenticate': 'Basic realm="Fake Realm"'}),
418: dict(
418: dict( # I'm a teapot!
data=ASCII_ART,
headers={
'x-more-info': 'http://tools.ietf.org/html/rfc2324'