Show routes #72

Merged
bones7242 merged 11 commits from show-routes into master 2017-07-07 03:10:45 +02:00
5 changed files with 58 additions and 16 deletions
Showing only changes of commit 41e5246941 - Show all commits

View file

@ -6,14 +6,13 @@ const { postToStats, sendGoogleAnalytics } = require('../controllers/statsContro
function serveFile ({ fileName, fileType, filePath }, res) {
logger.info(`serving file ${fileName}`);
// set default options
const options = {
let options = {
headers: {
'X-Content-Type-Options': 'nosniff',
'Content-Type' : fileType,
},
};
// adjust default options as needed
// eslint-disable-next-line camelcase
switch (fileType) {
case 'image/jpeg':
break;
@ -35,10 +34,36 @@ function serveFile ({ fileName, fileType, filePath }, res) {
function servePage ({ fileName, fileType, filePath }, res) {
logger.info(`serving show page for ${fileName}`);
// set default options
let showOptions;
let options = {
name: fileName,
type: {
jpeg: false,
gif : false,
png : false,
mp4 : false,
},
path: filePath,
};
switch (fileType) {
case 'image/jpeg':
options['type']['jpeg'] = true;
break;
case 'image/gif':
options['type']['gif'] = true;
break;
case 'image/png':
options['type']['png'] = true;
break;
case 'video/mp4':
options['type']['mp4'] = true;
break;
default:
options['type']['jpeg'] = true;
logger.warn('sending show page with unknown file type');
break;
}
// send file
res.status(200).render('show', showOptions);
res.status(200).render('show', options);
}
function sendAnalyticsAndLog (headers, ip, originalUrl) {

View file

@ -5,8 +5,9 @@ const errorHandlers = require('../helpers/libraries/errorHandlers.js');
const { postToStats } = require('../controllers/statsController.js');
module.exports = (app, siofu, hostedContentPath) => {
const http = require('http').Server(app);
const io = require('socket.io')(http);
const http = require('http');
const server = http.Server(app);
const io = require('socket.io')(server);
io.on('connection', socket => {
logger.silly('a user connected via sockets');
@ -55,11 +56,15 @@ module.exports = (app, siofu, hostedContentPath) => {
// to-do: remove the file if not done automatically
}
});
// handle asset requests
socket.on('asset-request', (msg) => {
console.log('received a msg:', msg);
});
// handle disconnect
socket.on('disconnect', () => {
logger.silly('a user disconnected via sockets');
});
});
return http;
return server;
};

View file

@ -61,13 +61,13 @@ require('./routes/serve-routes.js')(app);
require('./routes/home-routes.js')(app);
// require socket.io routes
const http = require('./routes/sockets-routes.js')(app, siofu, hostedContentPath);
const server = require('./routes/sockets-routes.js')(app, siofu, hostedContentPath);
// sync sequelize
// wrap the server in socket.io to intercept incoming sockets requests
// start server
db.sequelize.sync().then(() => {
http.listen(PORT, () => {
server.listen(PORT, () => {
winston.info('Trusting proxy?', app.get('trust proxy'));
winston.info(`Server is listening on PORT ${PORT}`);
});

View file

@ -1,4 +1,19 @@
<div class="panel">
<p> asset goes here </p>
</div>
<div id="asset-placeholder">
{{#if type.mp4}}
<p>It's a video!</p>
{{else}}
<p>It's not a video</p>
{{/if}}
</div>
</div>
<script src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
var socket = io();
socket.emit('asset-request', 'ready for asset on 1234');
</script>

View file

@ -8,7 +8,4 @@
{{> assetMetadata}}
</div>
{{> footer}}
</div>
<script src="/socket.io/socket.io.js"></script>
<script src="/siofu/client.js"></script>
</div>