Skip to content

[#61] Implement ETag based fetching instead of caching everything for a week

Sam Habiel requested to merge shabiel/YDB-Web-Server:mws61-file-cacheing into master

This implementes ETag based fetching based on https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag.

Tested manually using the YDBGUI source code on Firefox and Chrome.

Changes:

  • Dockerfile: Install curl (to use while testing inside the docker image), download YDBCMake in a separate step so that if we need to recompile YDB-Web-Server it will be faster to do so (no extra download step for YDBCMake). Move Copy Test Script to the end of the file.
  • ci/run_test.sh: parameter to increase logging verbosity, code to run YDBGUI using first parameter ydbgui. doc/dockerfile-notes.md updated to reflect the new capabilities.
  • src/_ydbwebapi.m implementes ETag using $ZYHASH.
  • src/_ydbwebrsp.m code to send ETag, and to check If-None-Match header to see if we can send an HTTP 304 Not Modified back.
  • src/_ydbwebtest.m has new automated test tEtag1.

Merge request reports