diff --git a/httpbin/core.py b/httpbin/core.py index c78d637..d232180 100644 --- a/httpbin/core.py +++ b/httpbin/core.py @@ -11,10 +11,12 @@ import base64 import json import os import time +import uuid from flask import Flask, Response, request, render_template, redirect, jsonify, make_response from raven.contrib.flask import Sentry from werkzeug.datastructures import WWWAuthenticate +from werkzeug.http import http_date from . import filters from .helpers import get_headers, status_code, get_dict, check_basic_auth, check_digest_auth, H, ROBOT_TXT, ANGRY_ASCII @@ -336,7 +338,10 @@ def cache(): is_conditional = request.headers.get('If-Modified-Since') or request.headers.get('If-None-Match') if is_conditional is None: - return view_get() + response = view_get() + response.headers['Last-Modified'] = http_date() + response.headers['ETag'] = uuid.uuid4().hex + return response else: return status_code(304)