Changed Serving Method

v1.18.x
RoiEX 8 years ago
parent 4082ca40c1
commit 603d45fbfa

@ -5,7 +5,7 @@ var winston = require('winston');
var buildStart; var buildStart;
var valid = ['js', 'clientCSS', 'acpCSS', 'tpl', 'lang', 'sound', 'osd']; var valid = ['js', 'clientCSS', 'acpCSS', 'tpl', 'lang', 'sound'];
exports.buildAll = function (callback) { exports.buildAll = function (callback) {
exports.build(valid.join(','), callback); exports.build(valid.join(','), callback);
@ -117,12 +117,6 @@ exports.buildTargets = function (targets, callback) {
meta.sounds.build(step.bind(this, startTime, target, next)); meta.sounds.build(step.bind(this, startTime, target, next));
break; break;
case 'osd':
winston.info('[build] Building OpenSearchDocument XML');
startTime = Date.now();
meta.osd.build(step.bind(this, startTime, target, next));
break;
default: default:
winston.warn('[build] Unknown build target: \'' + target + '\''); winston.warn('[build] Unknown build target: \'' + target + '\'');
setImmediate(next); setImmediate(next);

@ -1,15 +1,13 @@
'use strict'; 'use strict';
var path = require('path');
var xml = require('xml'); var xml = require('xml');
var fs = require('fs');
var nconf = require('nconf'); var nconf = require('nconf');
var osdFilePath = path.join(__dirname, '../../build/public/osd.xml'); var plugins = require('../plugins');
module.exports = function (Meta) { module.exports = function (Meta) {
Meta.osd = {}; Meta.osd = {};
Meta.osd.build = function (callback) { function generateXML () {
var osdObject = { var osdObject = {
OpenSearchDescription: [ OpenSearchDescription: [
{ {
@ -36,6 +34,12 @@ module.exports = function (Meta) {
}, },
], ],
}; };
fs.writeFile(osdFilePath, xml([osdObject], { declaration: true, indent: '\t' }), callback); return xml([osdObject], { declaration: true, indent: '\t' });
}
Meta.osd.handleOSDRequest = function (req, res, next) {
if (plugins.hasListeners('filter:search.query')) {
res.type('application/xml').send(generateXML());
}
next();
}; };
}; };

@ -65,7 +65,7 @@ module.exports = function (Meta) {
defaultLinks.push({ defaultLinks.push({
rel: 'search', rel: 'search',
type: 'application/opensearchdescription+xml', type: 'application/opensearchdescription+xml',
href: nconf.get('relative_path') + '/assets/osd.xml', href: nconf.get('relative_path') + '/osd.xml',
}); });
} }

@ -8,4 +8,5 @@ module.exports = function (app, middleware, controllers) {
app.get('/robots.txt', controllers.robots); app.get('/robots.txt', controllers.robots);
app.get('/manifest.json', controllers.manifest); app.get('/manifest.json', controllers.manifest);
app.get('/css/previews/:theme', controllers.admin.themes.get); app.get('/css/previews/:theme', controllers.admin.themes.get);
app.get('/osd.xml', require('../meta').osd.handleOSDRequest);
}; };

Loading…
Cancel
Save