mirror of
https://github.com/Mastermindzh/tidal-hifi.git
synced 2025-09-11 14:25:12 +02:00
added express endpoints, a settings service and a media info service
This commit is contained in:
36
src/scripts/express.js
Normal file
36
src/scripts/express.js
Normal file
@@ -0,0 +1,36 @@
|
||||
const express = require("express");
|
||||
const { mediaInfo } = require("./mediaInfo");
|
||||
const settingsModule = require("./settings");
|
||||
const globalEvents = require("./../constants/globalEvents");
|
||||
const expressModule = {};
|
||||
var fs = require("fs");
|
||||
|
||||
expressModule.run = function(mainWindow) {
|
||||
function handleGlobalEvent(res, action) {
|
||||
mainWindow.webContents.send("globalEvent", action);
|
||||
res.sendStatus(200);
|
||||
}
|
||||
|
||||
const expressApp = express();
|
||||
expressApp.get("/", (req, res) => res.send("Hello World!"));
|
||||
expressApp.get("/current", (req, res) => res.json(mediaInfo));
|
||||
expressApp.get("/play", (req, res) => handleGlobalEvent(res, globalEvents.play));
|
||||
expressApp.get("/pause", (req, res) => handleGlobalEvent(res, globalEvents.pause));
|
||||
expressApp.get("/next", (req, res) => handleGlobalEvent(res, globalEvents.next));
|
||||
expressApp.get("/previous", (req, res) => handleGlobalEvent(res, globalEvents.previous));
|
||||
expressApp.get("/image", (req, res) => {
|
||||
var stream = fs.createReadStream(mediaInfo.icon);
|
||||
stream.on("open", function() {
|
||||
res.set("Content-Type", "image/png");
|
||||
stream.pipe(res);
|
||||
});
|
||||
stream.on("error", function() {
|
||||
res.set("Content-Type", "text/plain");
|
||||
res.status(404).end("Not found");
|
||||
});
|
||||
});
|
||||
|
||||
expressApp.listen(settingsModule.settings.apiSettings.port, () => {});
|
||||
};
|
||||
|
||||
module.exports = expressModule;
|
Reference in New Issue
Block a user