TUTORIAL GOLANG – ESEGUIRE CHIAMATE HTTP

L’articolo illustra come fare delle chiamate http tramite go. Il package che offre le funzioni per gestire il protocollo http si chiama “net/http”. Vediamo subito come gestire i principali casi d’uso.

Per effettuare una GET si usa la funzione get, che restituisce un oggetto Response e un oggetto Error.

Nell’esempio sto invocando la homepage di google, e verifico la presenza di errore e il codice restituito dalla risposta. Successivamente tramite il package ioutil recupero il body della response e lo stampo a video.

Se invece volessi inviare una post Golang mette a disposizione 2 funzioni: post e postForm.

La funzione post riceve in ingresso l’url cui inviare la post, il content type del dato che sto inviando e un reader del package io

La funzione postForm invece riceve in ingresso l’url cui inviare la post e il form dei dati chiave, valore

Le 3 funzioni consentono di inviare get e post, ma qualora volessi usare altri metodi come la put o la delete occorre usare il metodo addNewRequest per creare una request e usare il client http per inviare la richiesta.

Per gestire le caratteristiche avanzate delle connessioni Go mette a disposizione l’oggetto Transport che opportunamente configurato consente di definire un proxy per l’invocazione del servizio. Questo caso si presenta quando il nostro client è presente all’interno di una rete il cui accesso ad internet è veicolato dalla presenza di un proxy.

Qualora invece il nostro server voglia un certificato occorre caricare il certificato e configurato sempre nel transport affinchè venga usato in trasmissione

Nell’esempio sto leggendo il certificato e lo sto configurando all’interno del transport per poi fornirlo al client.

Abbiamo quindi visto come invocare i vari metodi e come gestire una rete con proxy e una connessione crittografata con invio del certificato.

Alla prossima