Add basic Cache endpoint.

This commit is contained in:
Cory Benfield
2013-05-11 09:55:35 +01:00
parent 7c96875e87
commit a9dca7398c
3 changed files with 13 additions and 0 deletions
+1
View File
@@ -17,3 +17,4 @@ Patches and Suggestions
- Flavio Percoco
- Radomir Stevanovic (http://github.com/randomir)
- Steven Honson
- Cory Benfield (Lukasa) <cory@lukasa.co.uk>
+1
View File
@@ -30,6 +30,7 @@ Freely hosted in [HTTP](http://httpbin.org) &
- [`/html`](http://httpbin.org/html) Renders an HTML Page.
- [`/robots.txt`](http://httpbin.org/robots.txt) Returns some robots.txt rules.
- [`/deny`](http://httpbin.org/deny) Denied by robots.txt file.
- [`/cache`](http://httpbin.org/cache) Returns 200 unless an If-Modified-Since header is provided, when it returns a 304.
## DESCRIPTION
+11
View File
@@ -330,5 +330,16 @@ def decode_base64(value):
return base64.urlsafe_b64decode(encoded).decode('utf-8')
@app.route('/cache', methods=('GET',))
def cache():
"""Returns a 304 if an If-Modified-Since header is present. Returns the same as a GET otherwise."""
if_modified = request.headers.get('If-Modified-Since')
if if_modified is None:
return view_get()
else:
return status_code(304)
if __name__ == '__main__':
app.run()