diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2017-03-14T14·26+0100 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2017-03-15T15·50+0100 |
commit | 45c70382ac152107d40956c6a3ab8c329086733f (patch) | |
tree | f99d8dddffd7ed5ae1b823572c9bbaf0cf2af276 /src/libstore/s3-binary-cache-store.cc | |
parent | 8b1d65bebe5af8960ba813e1233f2596a3ffebb7 (diff) |
S3BinaryCacheStore: Set Content-Type
This is necessary for serving log files to browsers.
Diffstat (limited to 'src/libstore/s3-binary-cache-store.cc')
-rw-r--r-- | src/libstore/s3-binary-cache-store.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/libstore/s3-binary-cache-store.cc b/src/libstore/s3-binary-cache-store.cc index 1d44e68321f7..5ecf3996d7eb 100644 --- a/src/libstore/s3-binary-cache-store.cc +++ b/src/libstore/s3-binary-cache-store.cc @@ -148,7 +148,7 @@ struct S3BinaryCacheStoreImpl : public S3BinaryCacheStore : S3BinaryCacheStore(params) , bucketName(bucketName) , s3Helper(get(params, "aws-region", Aws::Region::US_EAST_1)) - , textCompression(get(params, "text-compression", "gzip")) + , textCompression(get(params, "text-compression", "")) , logCompression(get(params, "log-compression", textCompression)) { diskCache = getNarInfoDiskCache(); @@ -229,6 +229,7 @@ struct S3BinaryCacheStoreImpl : public S3BinaryCacheStore } void uploadFile(const std::string & path, const std::string & data, + const std::string & mimeType, const std::string & contentEncoding) { auto request = @@ -236,6 +237,8 @@ struct S3BinaryCacheStoreImpl : public S3BinaryCacheStore .WithBucket(bucketName) .WithKey(path); + request.SetContentType(mimeType); + if (contentEncoding != "") request.SetContentEncoding(contentEncoding); @@ -261,14 +264,15 @@ struct S3BinaryCacheStoreImpl : public S3BinaryCacheStore stats.putTimeMs += duration; } - void upsertFile(const std::string & path, const std::string & data) override + void upsertFile(const std::string & path, const std::string & data, + const std::string & mimeType) override { if (path.find(".narinfo") != std::string::npos) - uploadFile(path, *compress(textCompression, data), textCompression); + uploadFile(path, *compress(textCompression, data), mimeType, textCompression); else if (path.find("/log") != std::string::npos) - uploadFile(path, *compress(logCompression, data), logCompression); + uploadFile(path, *compress(logCompression, data), mimeType, logCompression); else - uploadFile(path, data, ""); + uploadFile(path, data, mimeType, ""); } void getFile(const std::string & path, |