Creazione di un server web mediante l’uso del modulo URL di node.JS

Come creare un server web che possa gestire le richieste HTTP facendo uso del modulo url di Node.JS

Il modulo URL

Il modulo URL

L’esempio di pagina precedente mostra come possiamo spezzettare, o meglio “tokenizzare”, le diverse proprietà di un generico URL. Metodi di questo tipo ci serviranno per riconoscere qual è l’URL richiesto dall’utente e gestirlo conseguentemente. Il codice visto finora è stato scritto proprio per capire come possiamo ricavare i valori che ci interessano dall’URL in ingresso, come ad esempio protocollo, nome dell’host, percorso ecc. Se invece vogliamo soltanto stampare a video, nella console di esecuzione, tutti i valori “parsati” dall’URL (ad esempio in fase di debug), possiamo usare un’istruzione più comoda, ovvero

 

 

Che produrrà come risultato

 

 

In questo caso facciamo attenzione a non inserire altre stringhe o etichette prima dell’oggetto, altrimenti, invece della lista qui sopra, verrà stampato soltanto il riferimento all’identificatore dell’oggetto. In altre parole non dobbiamo scrivere cose del genere

 

 

Osservando le proprietà visualizzate quando stampiamo la variabile parsed, dovremo riconoscere la struttura caratteristica degli Object Literal usati in JavaScript. Questo ovviamente non è un caso, perché Node.js è stato strutturato appositamente per ricalcare da vicino il paradigma di programmazione JavaScript.

Ovviamente, oltre ai metodi per effettuare il parsing degli indirizzi, abbiamo anche i metodi complementari, che si occupano di formattare una o più stringhe per produrre un URL valido. Ad esempio

 

 

Stamperà a video l’indirizzo dell’URL scritto nella maniera usuale, ovvero

 

 

Notiamo, tra l’altro, che anche in ingresso del metodo format abbiamo usato la sintassi degli Object Literal JavaScript: se non siamo pratici di questa sintassi è bene tornare a rispolverare le nozioni JavaScript relative all’utilizzo di questi oggetti, perché risulteranno utili in molte circostanze (e non solo con Node.js).