+ * ShinyProxy supports proxying to multiple targets. When proxying to a target (without a sub-path for that specific target), the URL must end with a slash. + * However, when the sub-path does not point to a specific target, it's not required that the URL ends with a slash. + *
+ *+ * Assume an app called `myapp` has a additional-port-mapping named `abc`: + * - /app/myapp -> no redirect required (getPublicPath() always add a slash) + * - /app/myapp/test123 -> no redirect required + * - /app/myapp/abc -> redirect to /app/myapp/abc/ + * - /app/myapp/abc/ -> no redirect required + * - /app/myapp/abc/test -> no redirect required + *
+ * @param request the current request + * @param appRequestInfo the appRequstInfo for this request + * @param proxy the current proxy + * @param spec the spec of the current app + * @return a RedirectView if a redirect is needed + */ + private Optional+ App name + | ++ {{ appName }} + | +
+ Instance + | ++ {{ instanceName }} + | +
+ ID + | ++ {{ proxyId }} + | +
+ Username + | ++ {{ userId }} + | +
+ Status + | ++ {{ status }} + | +
+ Uptime + | ++ {{ uptime }} + | +
+ App is in use + | ++ {{ isInUse }} + | +
+ Last heartbeat + | ++ {{ lastHeartBeat }} + | +
+ Heartbeat timeout + + The app is automatically stopped when it has not been used for this amount of time. + + | +
+ {{ heartbeatTimeout }}
+ {{#if heartbeatTimeoutRemaining}}
+ + Remaining: {{ heartbeatTimeoutRemaining }} + {{/if}} + |
+
+ Image + | ++ {{ imageName }} + | +
+ Image tag + | ++ {{ imageTag }} + | +
+ Max lifetime + + The app is automatically stopped when it has been running for this amount of time (even if it is in use). + + | +
+ {{ maxLifetime }}
+ {{#if maxLifetimeRemaining}}
+ + Remaining: {{ maxLifetimeRemaining }} + {{/if}} + |
+
+ Name of container in backend + | ++ {{ backendContainerName }} + | +
+ {{ displayName }} + {{#if description}} + + {{{ description }}} + + {{/if}} + | ++ {{ value }} + | +
\n App name\n | \n\n '+c(typeof(r=null!=(r=p(e,"appName")||(null!=l?p(l,"appName"):l))?r:i)==s?r.call(u,{name:"appName",hash:{},data:a,loc:{start:{line:7,column:12},end:{line:7,column:25}}}):r)+"\n | \n
\n Instance\n | \n\n "+c(typeof(r=null!=(r=p(e,"instanceName")||(null!=l?p(l,"instanceName"):l))?r:i)==s?r.call(u,{name:"instanceName",hash:{},data:a,loc:{start:{line:15,column:12},end:{line:15,column:30}}}):r)+"\n | \n
\n ID\n | \n\n "+c(typeof(r=null!=(r=p(e,"proxyId")||(null!=l?p(l,"proxyId"):l))?r:i)==s?r.call(u,{name:"proxyId",hash:{},data:a,loc:{start:{line:23,column:12},end:{line:23,column:25}}}):r)+"\n | \n
\n Status\n | \n\n "+c(typeof(r=null!=(r=p(e,"status")||(null!=l?p(l,"status"):l))?r:i)==s?r.call(u,{name:"status",hash:{},data:a,loc:{start:{line:41,column:12},end:{line:41,column:24}}}):r)+"\n | \n
ID | -Status | -User | -Appname | -Instance | -Endpoint | -Uptime | -Last heartbeat | -Image | -Image tag | -
---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - | - |
Server | +ID | +Status | +User | +Appname | +Instance | +Endpoint | +Uptime | +Last heartbeat | +Image | +Image tag | +Actions | +
---|