How to handle HTTP Get response?

Fprintln allows you to direct output to any writer. Feel free to choose the available port of your choice - higher ports will make it easier to bypass the built-in security functionality in any system. net/http directs requests using a URI or URL endpoint to helper functions, which must implement the http.ResponseWriter and http.Request methods.
package main
import (
    "fmt"
    "io/ioutil"
    "log"
    "net/http"
)
func ServeHTTP(w http.ResponseWriter, r *http.Request) {
	url := "http://country.io/capital.json"
    response, err := http.Get(url)
    if err != nil {
        log.Fatal(err)
    }
    defer response.Body.Close()
    responseData, err := ioutil.ReadAll(response.Body)
    if err != nil {
        log.Fatal(err)
    }
    responseString := string(responseData)
    fmt.Fprint(w, responseString)
}
func main() {
    http.HandleFunc("/", ServeHTTP)
    if err := http.ListenAndServe(":8080", nil); err != nil {
        log.Fatal(err)
    }
}
Now run url :http://localhost:8080/ in your browser and see the below content

Thanks for reading. Please leave your valuable feedback and comments.

* Required Fields

No questions yet. Be the first to ask the question!