diff --git a/openvidu-recording-java/src/main/java/io/openvidu/recording/java/MyRestController.java b/openvidu-recording-java/src/main/java/io/openvidu/recording/java/MyRestController.java index 66819894..8e1d4280 100644 --- a/openvidu-recording-java/src/main/java/io/openvidu/recording/java/MyRestController.java +++ b/openvidu-recording-java/src/main/java/io/openvidu/recording/java/MyRestController.java @@ -28,7 +28,7 @@ import io.openvidu.java.client.RecordingProperties; import io.openvidu.java.client.Session; @RestController -@RequestMapping("/api") +@RequestMapping("/recording-java/api") public class MyRestController { // OpenVidu object as entrypoint of the SDK diff --git a/openvidu-recording-java/src/main/resources/static/app.js b/openvidu-recording-java/src/main/resources/static/app.js index 23d2d03b..9cc03476 100644 --- a/openvidu-recording-java/src/main/resources/static/app.js +++ b/openvidu-recording-java/src/main/resources/static/app.js @@ -203,7 +203,7 @@ function getToken(callback) { httpRequest( 'POST', - 'api/get-token', { + 'recording-java/api/get-token', { sessionName: sessionName }, 'Request of TOKEN gone WRONG:', @@ -218,7 +218,7 @@ function getToken(callback) { function removeUser() { httpRequest( 'POST', - 'api/remove-user', { + 'recording-java/api/remove-user', { sessionName: sessionName, token: token }, @@ -232,7 +232,7 @@ function removeUser() { function closeSession() { httpRequest( 'DELETE', - 'api/close-session', { + 'recording-java/api/close-session', { sessionName: sessionName }, 'Session couldn\'t be closed', @@ -245,7 +245,7 @@ function closeSession() { function fetchInfo() { httpRequest( 'POST', - 'api/fetch-info', { + 'recording-java/api/fetch-info', { sessionName: sessionName }, 'Session couldn\'t be fetched', @@ -259,7 +259,7 @@ function fetchInfo() { function fetchAll() { httpRequest( 'GET', - 'api/fetch-all', {}, + 'recording-java/api/fetch-all', {}, 'All session info couldn\'t be fetched', res => { console.warn("All session info has been fetched"); @@ -271,7 +271,7 @@ function fetchAll() { function forceDisconnect() { httpRequest( 'DELETE', - 'api/force-disconnect', { + 'recording-java/api/force-disconnect', { sessionName: sessionName, connectionId: document.getElementById('forceValue').value }, @@ -285,7 +285,7 @@ function forceDisconnect() { function forceUnpublish() { httpRequest( 'DELETE', - 'api/force-unpublish', { + 'recording-java/api/force-unpublish', { sessionName: sessionName, streamId: document.getElementById('forceValue').value }, @@ -327,7 +327,7 @@ function startRecording() { var hasVideo = $('#has-video-checkbox').prop('checked'); httpRequest( 'POST', - 'api/recording/start', { + 'recording-java/api/recording/start', { session: session.sessionId, outputMode: outputMode, hasAudio: hasAudio, @@ -347,7 +347,7 @@ function stopRecording() { var forceRecordingId = document.getElementById('forceRecordingId').value; httpRequest( 'POST', - 'api/recording/stop', { + 'recording-java/api/recording/stop', { recording: forceRecordingId }, 'Stop recording WRONG', @@ -362,7 +362,7 @@ function deleteRecording() { var forceRecordingId = document.getElementById('forceRecordingId').value; httpRequest( 'DELETE', - 'api/recording/delete', { + 'recording-java/api/recording/delete', { recording: forceRecordingId }, 'Delete recording WRONG', @@ -377,7 +377,7 @@ function getRecording() { var forceRecordingId = document.getElementById('forceRecordingId').value; httpRequest( 'GET', - 'api/recording/get/' + forceRecordingId, {}, + 'recording-java/api/recording/get/' + forceRecordingId, {}, 'Get recording WRONG', res => { console.log(res); @@ -389,7 +389,7 @@ function getRecording() { function listRecordings() { httpRequest( 'GET', - 'api/recording/list', {}, + 'recording-java/api/recording/list', {}, 'List recordings WRONG', res => { console.log(res); diff --git a/openvidu-recording-node/public/app.js b/openvidu-recording-node/public/app.js index c8d1c1c3..ee7636ba 100644 --- a/openvidu-recording-node/public/app.js +++ b/openvidu-recording-node/public/app.js @@ -203,7 +203,7 @@ function getToken(callback) { httpRequest( 'POST', - 'api/get-token', { + 'recording-node/api/get-token', { sessionName: sessionName }, 'Request of TOKEN gone WRONG:', @@ -218,7 +218,7 @@ function getToken(callback) { function removeUser() { httpRequest( 'POST', - 'api/remove-user', { + 'recording-node/api/remove-user', { sessionName: sessionName, token: token }, @@ -232,7 +232,7 @@ function removeUser() { function closeSession() { httpRequest( 'DELETE', - 'api/close-session', { + 'recording-node/api/close-session', { sessionName: sessionName }, 'Session couldn\'t be closed', @@ -245,7 +245,7 @@ function closeSession() { function fetchInfo() { httpRequest( 'POST', - 'api/fetch-info', { + 'recording-node/api/fetch-info', { sessionName: sessionName }, 'Session couldn\'t be fetched', @@ -259,7 +259,7 @@ function fetchInfo() { function fetchAll() { httpRequest( 'GET', - 'api/fetch-all', {}, + 'recording-node/api/fetch-all', {}, 'All session info couldn\'t be fetched', res => { console.warn("All session info has been fetched"); @@ -271,7 +271,7 @@ function fetchAll() { function forceDisconnect() { httpRequest( 'DELETE', - 'api/force-disconnect', { + 'recording-node/api/force-disconnect', { sessionName: sessionName, connectionId: document.getElementById('forceValue').value }, @@ -285,7 +285,7 @@ function forceDisconnect() { function forceUnpublish() { httpRequest( 'DELETE', - 'api/force-unpublish', { + 'recording-node/api/force-unpublish', { sessionName: sessionName, streamId: document.getElementById('forceValue').value }, @@ -327,7 +327,7 @@ function startRecording() { var hasVideo = $('#has-video-checkbox').prop('checked'); httpRequest( 'POST', - 'api/recording/start', { + 'recording-node/api/recording/start', { session: session.sessionId, outputMode: outputMode, hasAudio: hasAudio, @@ -347,7 +347,7 @@ function stopRecording() { var forceRecordingId = document.getElementById('forceRecordingId').value; httpRequest( 'POST', - 'api/recording/stop', { + 'recording-node/api/recording/stop', { recording: forceRecordingId }, 'Stop recording WRONG', @@ -362,7 +362,7 @@ function deleteRecording() { var forceRecordingId = document.getElementById('forceRecordingId').value; httpRequest( 'DELETE', - 'api/recording/delete', { + 'recording-node/api/recording/delete', { recording: forceRecordingId }, 'Delete recording WRONG', @@ -377,7 +377,7 @@ function getRecording() { var forceRecordingId = document.getElementById('forceRecordingId').value; httpRequest( 'GET', - 'api/recording/get/' + forceRecordingId, {}, + 'recording-node/api/recording/get/' + forceRecordingId, {}, 'Get recording WRONG', res => { console.log(res); @@ -389,7 +389,7 @@ function getRecording() { function listRecordings() { httpRequest( 'GET', - 'api/recording/list', {}, + 'recording-node/api/recording/list', {}, 'List recordings WRONG', res => { console.log(res); diff --git a/openvidu-recording-node/server.js b/openvidu-recording-node/server.js index 39995d92..e3182882 100644 --- a/openvidu-recording-node/server.js +++ b/openvidu-recording-node/server.js @@ -10,11 +10,14 @@ if (process.argv.length != 4) { } // For demo purposes we ignore self-signed certificate process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0" +var port = process.env.PORT || 3000; +var useSSL = (process.env.USE_SSL === 'false') ? false : true + // Node imports var express = require('express'); var fs = require('fs'); -var https = require('https'); +var httpServer = (useSSL) ? require('https') : require('http'); var bodyParser = require('body-parser'); // Pull information from HTML POST (express4) var app = express(); // Create our app with express @@ -29,11 +32,11 @@ app.use(bodyParser.json({ })); // Parse application/vnd.api+json as json // Listen (start app with node server.js) -var options = { +var options = (useSSL) ? { key: fs.readFileSync('openvidukey.pem'), cert: fs.readFileSync('openviducert.pem') -}; -https.createServer(options, app).listen(5000); +} : {} +httpServer.createServer(options, app).listen(port); // Environment variable: URL where our OpenVidu server is listening var OPENVIDU_URL = process.argv[2]; @@ -48,7 +51,7 @@ var mapSessions = {}; // Collection to pair session names with tokens var mapSessionNamesTokens = {}; -console.log("App listening on port 5000"); +console.log(`App listening with ${(useSSL) ? "https": "http"} on port ${port} connected to OpenVidu at ${OPENVIDU_URL}`); @@ -56,7 +59,7 @@ console.log("App listening on port 5000"); /* Session API */ // Get token (add new user to session) -app.post('/api/get-token', function (req, res) { +app.post('/recording-node/api/get-token', function (req, res) { // The video-call to connect var sessionName = req.body.sessionName; @@ -136,7 +139,7 @@ function newSession(sessionName, connectionProperties, res) { } // Remove user from session -app.post('/api/remove-user', function (req, res) { +app.post('/recording-node/api/remove-user', function (req, res) { // Retrieve params from POST body var sessionName = req.body.sessionName; var token = req.body.token; @@ -171,7 +174,7 @@ app.post('/api/remove-user', function (req, res) { }); // Close session -app.delete('/api/close-session', function (req, res) { +app.delete('/recording-node/api/close-session', function (req, res) { // Retrieve params from POST body var sessionName = req.body.sessionName; console.log("Closing session | {sessionName}=" + sessionName); @@ -191,7 +194,7 @@ app.delete('/api/close-session', function (req, res) { }); // Fetch session info -app.post('/api/fetch-info', function (req, res) { +app.post('/recording-node/api/fetch-info', function (req, res) { // Retrieve params from POST body var sessionName = req.body.sessionName; console.log("Fetching session info | {sessionName}=" + sessionName); @@ -212,7 +215,7 @@ app.post('/api/fetch-info', function (req, res) { }); // Fetch all session info -app.get('/api/fetch-all', function (req, res) { +app.get('/recording-node/api/fetch-all', function (req, res) { console.log("Fetching all session info"); OV.fetch() .then(changed => { @@ -227,7 +230,7 @@ app.get('/api/fetch-all', function (req, res) { }); // Force disconnect -app.delete('/api/force-disconnect', function (req, res) { +app.delete('/recording-node/api/force-disconnect', function (req, res) { // Retrieve params from POST body var sessionName = req.body.sessionName; var connectionId = req.body.connectionId; @@ -244,7 +247,7 @@ app.delete('/api/force-disconnect', function (req, res) { }); // Force unpublish -app.delete('/api/force-unpublish', function (req, res) { +app.delete('/recording-node/api/force-unpublish', function (req, res) { // Retrieve params from POST body var sessionName = req.body.sessionName; var streamId = req.body.streamId; @@ -265,7 +268,7 @@ app.delete('/api/force-unpublish', function (req, res) { /* Recording API */ // Start recording -app.post('/api/recording/start', function (req, res) { +app.post('/recording-node/api/recording/start', function (req, res) { // Retrieve params from POST body var recordingProperties = { outputMode: req.body.outputMode, @@ -281,7 +284,7 @@ app.post('/api/recording/start', function (req, res) { }); // Stop recording -app.post('/api/recording/stop', function (req, res) { +app.post('/recording-node/api/recording/stop', function (req, res) { // Retrieve params from POST body var recordingId = req.body.recording; console.log("Stopping recording | {recordingId}=" + recordingId); @@ -292,7 +295,7 @@ app.post('/api/recording/stop', function (req, res) { }); // Delete recording -app.delete('/api/recording/delete', function (req, res) { +app.delete('/recording-node/api/recording/delete', function (req, res) { // Retrieve params from DELETE body var recordingId = req.body.recording; console.log("Deleting recording | {recordingId}=" + recordingId); @@ -303,7 +306,7 @@ app.delete('/api/recording/delete', function (req, res) { }); // Get recording -app.get('/api/recording/get/:recordingId', function (req, res) { +app.get('/recording-node/api/recording/get/:recordingId', function (req, res) { // Retrieve params from GET url var recordingId = req.params.recordingId; console.log("Getting recording | {recordingId}=" + recordingId); @@ -314,7 +317,7 @@ app.get('/api/recording/get/:recordingId', function (req, res) { }); // List all recordings -app.get('/api/recording/list', function (req, res) { +app.get('/recording-node/api/recording/list', function (req, res) { console.log("Listing recordings"); OV.listRecordings()