Come posso fare per testare l’evento onCommand di un applicazione di Instant Developer Cloud dall’ambiente di sviluppo senza quindi installarla su un server di produzione?
L’evento onCommand viene notificato quando l’applicazione viene richiamata non da un browser ma da una chiamata REST (vedere il manuale Struttura di un applicazione al capitolo Sessioni REST).
Nell’ide ad ogni apertura del progetto viene assegnato un numero di sessione diverso e quindi l’url dell’applicazione in esecuzione cambia, per costruirlo dinamicamente e distinguere dall’esecuzione in sviluppo da quella in produzione possiamo utilizzare il seguente codice:
if (app.inPreview()) {
let urlParts = app.requestConnectionUrl().split("/");
let url = urlParts[0] + "//" + urlParts[2] + "/" + urlParts[6] + "/" + urlParts[7] + "/run";
}
La funzione app.inPreview() ritorna true se l’applicazione è stata avviata in esecuzione dall’ide.
Io no e questo mi sarebbe stato molto utile un po’ di mesi fa, ho fatto i salti mortali per testare un’applicazione che risponde a chiamate rest
Mi tornerà sicuramente utile, grazie Paolo!
Io sì: l’ho usato una marea di volte per invocare l’esecuzione di un’app mediante chiamata REST, anche se non installato in Produzione. Allora avviavo la prima app, quella che sarebbe dovuto essere invocata mediante REST, poi con quella istruzione estraevo l’indirizzo temporaneo e lo usavo nella seconda app che avrebbe dovuto quindi chiamare la prima.
Tutto merito del percorso di istruzione nel sito di InstantDevepoler, dove veramente si trova passo passo proprio tutto il necessario per essere indipendenti!
Complimenti allo staff!!!