The LuaRocks command-line tool tries to store the value of last-modified in a timestamp file and, when that is available, it uses HEAD to check the timestamp before re-downloading the full manifest. In the old server, that sped up the tool noticeably (when one issues several commands in sequence).
Here's an output with show_downloads=true in ~/.luarocks/config.lua (plus a for-loop hacked in luarocks.fs.lua.http_request to dump all received headers):
$ luarocks install busted
GET https://luarocks.org/manifest-5.3.zip ...
.........
connection close
date Wed, 04 May 2016 20:16:10 GMT
x-memory-cache-hit 1
content-length 14799
server nginx/1.6.3
content-type application/zip
Archive: /Users/hisham/.cache/luarocks/https___luarocks.org/manifest-5.3.zip
inflating: manifest-5.3
Installing https://luarocks.org/busted-2.0.rc11-0.rockspec...
Using https://luarocks.org/busted-2.0.rc11-0.rockspec... switching to 'build' mode
GET https://luarocks.org/busted-2.0.rc11-0.rockspec ...
....
x-goog-storage-class STANDARD
content-length 4186
x-goog-generation 1445979206925000
etag "17aac59fd9c01ad5fd2836d89f5a5ad5"
accept-ranges bytes
x-goog-stored-content-encoding identity
x-object-url http://commondatastorage.googleapis.com/moonrocks/25/busted-2.0.rc11-0.rockspec?1
connection close
cache-control public, max-age=3600
x-guploader-uploadid AEnB2Uox6B4OUW9j0ewWluWUsUfTDEd9N1IBmXaG7NuyZUMhlWxrEsdNBjcAZxxYWHvDka_mpAw_UMqnQY9M6fxXz46Knpqjjg
age 1413
x-goog-hash crc32c=mZLYQQ==, md5=F6rFn9nAGtX9KDbYn1pa1Q==
last-modified Tue, 27 Oct 2015 20:53:26 GMT
x-goog-stored-content-length 4186
date Wed, 04 May 2016 20:16:12 GMT
expires Wed, 04 May 2016 20:52:39 GMT
x-goog-metageneration 1
server nginx/1.6.3
content-type text/x-rockspec
GET https://github.com/Olivine-Labs/busted/archive/v2.0.rc11-0.tar.gz ...
..
GET https://codeload.github.com/Olivine-Labs/busted/tar.gz/v2.0.rc11-0 ...
.........................
connection close
x-frame-options deny
content-security-policy default-src 'none'; style-src 'unsafe-inline'
x-github-request-id 8B526402:14157:1F4B0:572A588E
x-content-type-options nosniff
content-length 48368
x-xss-protection 1; mode=block
access-control-allow-origin https://render.githubusercontent.com
etag "2c68aca329d877ec84f26815dd56211b11c728cd"
date Wed, 04 May 2016 20:16:14 GMT
content-type application/x-gzip
content-disposition attachment; filename=busted-2.0.rc11-0.tar.gz
vary Authorization,Accept-Encoding
strict-transport-security max-age=31536000
Updating manifest for /Users/hisham/.luarocks/lib/luarocks/rocks-5.3
Missing dependency for luma 0.2-1: lpeg >= 0.10
Missing dependency for luma 0.2-1: lpeg >= 0.9
Missing dependency for cosmo 14.03.04-1: lpeg >= 0.9
busted 2.0.rc11-0 is now built and installed in /Users/hisham/.luarocks (license: MIT <http://opensource.org/licenses/MIT>)
Note that GET https://luarocks.org/busted-2.0.rc11-0.rockspec returns last-modified, but GET https://luarocks.org/manifest-5.3.zip doesn't.
The LuaRocks command-line tool tries to store the value of
last-modified
in a timestamp file and, when that is available, it uses HEAD to check the timestamp before re-downloading the full manifest. In the old server, that sped up the tool noticeably (when one issues several commands in sequence).Here's an output with
show_downloads=true
in~/.luarocks/config.lua
(plus a for-loop hacked inluarocks.fs.lua.http_request
to dump all received headers):Note that
GET https://luarocks.org/busted-2.0.rc11-0.rockspec
returnslast-modified
, butGET https://luarocks.org/manifest-5.3.zip
doesn't.