diff --git a/packages/api/lib/controllers/measurementsController.js b/packages/api/lib/controllers/measurementsController.js index 7f56bc24..7d7b6ef7 100644 --- a/packages/api/lib/controllers/measurementsController.js +++ b/packages/api/lib/controllers/measurementsController.js @@ -92,15 +92,17 @@ const getData = function getData (req, res, next) { let stringifier; // IDEA: add geojson point featurecollection format - if (format === 'csv' || (download === 'true')) { + if (format === 'csv') { res.header('Content-Type', 'text/csv'); - res.header('Content-Disposition', `attachment; filename=${sensorId}.${format}`); stringifier = csvStringifier(['createdAt', 'value'], delimiter); } else if (format === 'json') { res.header('Content-Type', 'application/json; charset=utf-8'); // IDEA: add geojson point featurecollection format stringifier = jsonstringify({ open: '[', close: ']' }, jsonLocationReplacer); } + if (download === 'true') { + res.header('Content-Disposition', `attachment; filename=${sensorId}.${format}`); + } let measurementsStream = Measurement.getMeasurementsStream(req._userParams) .on('error', function (err) { diff --git a/tests/tests/007-download-data-test.js b/tests/tests/007-download-data-test.js index a11f1b1c..914a337f 100644 --- a/tests/tests/007-download-data-test.js +++ b/tests/tests/007-download-data-test.js @@ -226,7 +226,7 @@ describe('downloading data', function () { }); it('should allow download data through /boxes/:boxid/data/:sensorid as csv', function () { - return chakram.get(`${BASE_URL}/boxes/${boxIds[0]}/data/${boxes[0].sensors[1]._id}?format=csv`) + return chakram.get(`${BASE_URL}/boxes/${boxIds[0]}/data/${boxes[0].sensors[1]._id}?format=csv&download=true`) .then(function (response) { expect(response).to.have.status(200); expect(response.body).not.to.be.empty;