Subject: bug#33721: ci.guix.info does not return Cache-Control header for substitutes

From: Chris Marusich <[email-masked]>
Date: Wed, 12 Dec 2018 22:58:36 -0800

Hi,

I've noticed that ci.guix.info (which I see maps to the same IP address
as berlin.guixsd.org) does not return a Cache-Control header for some
substitutes.  I've tried various URLs under the /nar/gzip/ prefix, and
and they all omitted a Cache-Control header in the response.  For
example:

--8<---------------cut here---------------start------------->8---
$ curl --dump-header - -s -o /dev/null https://ci.guix.info/nar/gzip/0fw7w396llw316nj36dsqnbkxzc9bqwa-python-itsdangerous-0.24
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Thu, 13 Dec 2018 06:49:04 GMT
Content-Type: application/octet-stream;charset=ISO-8859-1
Content-Length: 19449
Connection: keep-alive
--8<---------------cut here---------------end--------------->8---

However, some URLs do include a Cache-Control header in the response.
For example:

--8<---------------cut here---------------start------------->8---
$ curl --dump-header - -s -o /dev/null https://ci.guix.info/s8v7vrzgpjkyf72dlbifhprabqqlx696.narinfo
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Thu, 13 Dec 2018 06:49:25 GMT
Content-Type: application/x-nix-narinfo;charset=utf-8
Content-Length: 1456
Connection: keep-alive
Cache-Control: max-age=7776000
--8<---------------cut here---------------end--------------->8---

I expected all URLs to return an appropriate Cache-Control header (at
least when returning an HTTP 200 response), especially the URLs for the
gzipped substitutes themselves, since they are likely to be large.  Is
there a reason why we do not include a Cache-Control header for all
substitutes under the /nar/gzip/ prefix?

-- 
Chris