Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
3.29.2
-
3
-
3
Description
Conda clients will indicate support for compression of HTTP responses.
Official conda repositories will reply with a compressed reply, while NXRM does not.
This consumes more bandwidth than should be required, possibly making builds using NXRM slower than they otherwise would be.
curl -v https://repo.anaconda.com/pkgs/main/noarch/repodata.json -H "Accept: */*" -H "Accept-Encoding: gzip, deflate, compress, identity" -o /dev/null < HTTP/2 200 < date: Tue, 09 Feb 2021 15:10:25 GMT < content-type: application/json < set-cookie: __cfduid=d5eaa83fddd9f05653733c86bbcdba6121612883425; expires=Thu, 11-Mar-21 15:10:25 GMT; path=/; domain=.anaconda.com; HttpOnly; SameSite=Lax; Secure < x-amz-id-2: 6tV77IWbBzxUiogNYhQWVhhQfkyohRPQ0USjxEQ9Gwdhk65hScfsMDcB1sMuUnvuUv6H9OIAJQk= < x-amz-request-id: F5BF72DC57435EC3 < last-modified: Mon, 08 Feb 2021 20:39:24 GMT < x-amz-version-id: 7DV2byaD0mGa4onEFBWmpyEjs2U9pn8O < etag: W/"9b9831a707e0f5283f27cfddeb9667b2" < cf-cache-status: HIT < age: 118 < expires: Tue, 09 Feb 2021 15:10:55 GMT < cache-control: public, max-age=30 < cf-request-id: 0828f110940000f01d1398a000000001 < expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct" < vary: Accept-Encoding < server: cloudflare < cf-ray: 61ee8460efe7f01d-EWR < content-encoding: gzip { [788 bytes data] 100 520k 0 520k 0 0 1729k 0 --:--:-- --:--:-- --:--:-- 1729k * Connection #0 to host repo.anaconda.com left intact > GET /repository/anaconda-proxy/noarch/repodata.json HTTP/1.1 > Host: localhost:8081 > User-Agent: curl/7.74.0 > Accept: */* > Accept-Encoding: gzip, deflate, compress, identity > * Mark bundle as not supporting multiuse < HTTP/1.1 200 OK < Date: Tue, 09 Feb 2021 15:19:09 GMT < Server: Nexus/3.29.2-02 (PRO) < X-Content-Type-Options: nosniff < Content-Security-Policy: sandbox allow-forms allow-modals allow-popups allow-presentation allow-scripts allow-top-navigation < X-XSS-Protection: 1; mode=block < Last-Modified: Mon, 08 Feb 2021 20:39:24 GMT < ETag: W/"9b9831a707e0f5283f27cfddeb9667b2" < Content-Type: application/json < Content-Length: 3177552 < { [81868 bytes data] 100 3103k 100 3103k 0 0 5396k 0 --:--:-- --:--:-- --:--:-- 5387k
Expected
If a requesting client indicates it accepts compressed content, then compress that content in the reply. Do this only for textual content types.