What are you trying to do?
Download a list of all charts (download /repository/helm/index.yaml file).
There seems to be no ETag header support => file is fairly re-downloaded every time (instead of returning a 304 response code if current Etag matches the one provided by client)
What feature or behavior is this required for?
This may be very useful for CI automation tools: they may cache the index.yaml file on their side and only do re-download this file when there're changes. Especially may make sense for big helm repositories, where the index.yaml file size is significant.
How could we solve this issue? (Not knowing is okay!)
- Send ETag header within a /repository/helm/iindex.yaml response
- Check Etag header on requests: return 304 status response with no body if request's Etag matches the current one; return 200 status code with complete contents in body otherwise.|