Skip to main content
Skip table of contents

How to Add Multiple App and Config Support in No-Iframe Implementation

GitHub Link: https://github.com/e3ds/full-html-control/tree/html/ejs-multiApp

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

CODE
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
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
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);
								});	
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.