1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-04 10:19:30 +02:00
OpenSTF/lib/roles/device/plugins/browsers.js
2014-04-01 19:29:28 +09:00

51 lines
1.3 KiB
JavaScript

var util = require('util')
var syrup = require('syrup')
var logger = require('../../../util/logger')
module.exports = syrup()
.dependency(require('../support/http'))
.dependency(require('./input'))
.define(function(options, http, input) {
var log = logger.createLogger('device:plugins:browsers')
log.info('Fetching browser list')
return input.getBrowsers()
.then(function(browsers) {
var icons = Object.create(null)
browsers.apps.forEach(function(app) {
icons[app.component] = app.icon.toBuffer()
app.icon = util.format(
'%s/api/v1/browsers/%s/icon'
, http.get('public url')
, app.component
)
})
http.get(
'/api/v1/browsers/:package/:activity/icon'
, function(req, res) {
var component = util.format(
'%s/%s'
, req.params.package
, req.params.activity
)
var icon = icons[component]
if (icon) {
res.set('Content-Type', 'image/png')
res.set('Content-Length', icon.length)
res.send(200, icon)
}
else {
res.send(404)
}
}
)
return browsers
})
})