diff options
Diffstat (limited to 'src/couchdb')
-rw-r--r-- | src/couchdb/couch_httpd_misc_handlers.erl | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/couchdb/couch_httpd_misc_handlers.erl b/src/couchdb/couch_httpd_misc_handlers.erl index 37ed709f..24eaa82e 100644 --- a/src/couchdb/couch_httpd_misc_handlers.erl +++ b/src/couchdb/couch_httpd_misc_handlers.erl @@ -106,13 +106,18 @@ handle_restart_req(Req) -> handle_uuids_req(#httpd{method='GET'}=Req) -> Count = list_to_integer(couch_httpd:qs_value(Req, "count", "1")), - CacheBustingHeaders = [{"Date", httpd_util:rfc1123_date()}, - {"Cache-Control", "no-cache"}, - % Past date, ON PURPOSE! - {"Expires", "Fri, 01 Jan 1990 00:00:00 GMT"}, - {"Pragma", "no-cache"}], UUIDs = [couch_uuids:new() || _ <- lists:seq(1, Count)], - send_json(Req, 200, CacheBustingHeaders, {[{<<"uuids">>, UUIDs}]}); + couch_httpd:etag_respond(Req, erlang:md5(UUIDs), fun() -> + CacheBustingHeaders = [ + {"Date", httpd_util:rfc1123_date()}, + {"Cache-Control", "no-cache"}, + % Past date, ON PURPOSE! + {"Expires", "Fri, 01 Jan 1990 00:00:00 GMT"}, + {"Pragma", "no-cache"}, + {"ETag", erlang:md5(UUIDs)} + ], + send_json(Req, 200, CacheBustingHeaders, {[{<<"uuids">>, UUIDs}]}) + end); handle_uuids_req(Req) -> send_method_not_allowed(Req, "GET"). |