Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

GitHub Link: https://github.com/e3ds/full-html-control/blob/html/ejs-multiApp/tokenServer.js

First, use the following command to clone the repository branch:

Code Block
git clone -b html/multiApp  --single-branch https://github.com/e3ds/full-html-control

To dynamically set the app name and config, we need to modify the tokenServer.js

Code Block
app.get("/:appName/:configurationName",

  function (req, res) 
  {
	 
		const appName = req.params.appName; //dynamically receiving app name from url
		const configurationName = req.params.configurationName; //dynamically receiving config name from url
		
		 GenerateStreamingSessionToken(res,false, appName, configurationName) 
		
		
  }
);

Here, we are dynamically receiving appName and configurationName from the URL params. Then we pass the appName and configurationName as parameters to the GenerateStreamingSessionToken function.

Inside the GenerateStreamingSessionToken function, we update streamingAppInfo variable’s appName and configurationName properties.

Code Block
function GenerateStreamingSessionToken(res,indexCP_dist=false, appName, configurationName) 
{
	streamingAppInfo.core.appName = appName;
	streamingAppInfo.core.configurationName = configurationName;

	const axios = require("axios");	
	
	axios.post(
				"https://token.eaglepixelstreaming.com/api/v1/token/create", 
				{
					"object" : streamingAppInfo,
					"expiry": tokenExpiryDuration,
					"client" : clientUserName
				}, 
				{
				  headers: {"Authorization": "Auth "+apiKey }
				}
	
			 )
			 .then((response) => 
			  {
				//console.dir(response);
				console.log("response.token :" +response.data.token);
				
				if(response.data.error)
					console.log("response.error :" +response.data.error);
	
			
				
				var obj={ 		
								
								
								token: response.data.token,
								clientUserName: clientUserName,
						}
									 
			console.log("obj passing to ejs view :" +  JSON.stringify(obj) );		
			res.render("player", obj);
			
        
      })
	  .catch(err => 
									{
									  console.error(err);
									  console.log(err);
								});	
}