New API route to retrieve a screenshot
This commit is contained in:
@@ -27,7 +27,7 @@ var ApiController = function(app) {
|
||||
url: req.body.url,
|
||||
waitForResponse: req.body.waitForResponse !== false && req.body.waitForResponse !== 'false' && req.body.waitForResponse !== 0,
|
||||
partialResult: req.body.partialResult || null,
|
||||
screenshot: req.body.screenshot !== false && req.body.screenshot !== 'false' && req.body.screenshot !== 0
|
||||
screenshot: req.body.screenshot || false
|
||||
}
|
||||
};
|
||||
|
||||
@@ -78,7 +78,7 @@ var ApiController = function(app) {
|
||||
if (run.params.screenshot) {
|
||||
|
||||
// Replace the empty promise created earlier with Q.resolve()
|
||||
screenshotPromise = screenshot.toThumbnail(640)
|
||||
screenshotPromise = screenshot.toThumbnail(600)
|
||||
|
||||
// Read screenshot
|
||||
.then(function(screenshotBuffer) {
|
||||
@@ -88,11 +88,9 @@ var ApiController = function(app) {
|
||||
data.screenshotBuffer = screenshotBuffer;
|
||||
|
||||
// Official path to get the image
|
||||
data.screenshotUrl = '/result/' + data.runId + '/screenshot.jpg';
|
||||
data.screenshotUrl = '/api/results/' + data.runId + '/screenshot.jpg';
|
||||
}
|
||||
|
||||
delete data.params.options.screenshot;
|
||||
|
||||
})
|
||||
// Delete screenshot temporary file
|
||||
.then(screenshot.deleteTmpFile);
|
||||
@@ -104,6 +102,7 @@ var ApiController = function(app) {
|
||||
|
||||
// Save results
|
||||
.then(function() {
|
||||
delete data.params.options.screenshot;
|
||||
return resultsDatastore.saveResult(data);
|
||||
})
|
||||
|
||||
@@ -270,6 +269,21 @@ var ApiController = function(app) {
|
||||
});
|
||||
}
|
||||
|
||||
// Retrive one result by id
|
||||
app.get('/api/results/:id/screenshot.jpg', function(req, res) {
|
||||
var runId = req.params.id;
|
||||
|
||||
resultsDatastore.getScreenshot(runId)
|
||||
.then(function(screenshotBuffer) {
|
||||
|
||||
res.setHeader('Content-Type', 'image/jpeg');
|
||||
res.send(screenshotBuffer);
|
||||
|
||||
}).fail(function() {
|
||||
res.status(404).send('Not found');
|
||||
});
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
module.exports = ApiController;
|
||||
Reference in New Issue
Block a user