github.com/giovannyortegon/go@v0.0.0-20220115155912-8890063f5bdd/src/WebProfesional/Introduction/webgo.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"log"
     6  	"net/http"
     7  )
     8  
     9  func Hola(rw http.ResponseWriter, r *http.Request) {
    10  	fmt.Println("El metodo es ", r.Method)
    11  	fmt.Fprintln(rw, "Hola Mundo de GO Web")
    12  }
    13  
    14  func PageNotFound(rw http.ResponseWriter, rq *http.Request) {
    15  	http.NotFound(rw, rq)
    16  }
    17  
    18  func PagError(rw http.ResponseWriter, rq *http.Request) {
    19  	http.Error(rw, "Este es un Error", http.StatusConflict)
    20  }
    21  func Saludar(rw http.ResponseWriter, rq *http.Request) {
    22  	fmt.Println(rq.URL.RawQuery)
    23  	fmt.Println(rq.URL.Query())
    24  
    25  	name := rq.URL.Query().Get("name")
    26  	age := rq.URL.Query().Get("age")
    27  
    28  	fmt.Fprintf(rw, "Hola %s tu edad es %s!!", name, age)
    29  }
    30  
    31  func main() {
    32  
    33  	mux := http.NewServeMux()
    34  	mux.HandleFunc("/", Hola)
    35  	mux.HandleFunc("/page", PageNotFound)
    36  	mux.HandleFunc("/error", PagError)
    37  	mux.HandleFunc("/saludar", Saludar)
    38  
    39  	// Router
    40  	/*	http.HandleFunc("/", Hola)
    41  		http.HandleFunc("/page", PageNotFound)
    42  		http.HandleFunc("/error", PagError)
    43  		http.HandleFunc("/saludar", Saludar)*/
    44  
    45  	// crear servidor
    46  	fmt.Println("El servidor esta corriendo en el puerto 1234")
    47  	fmt.Println("Run server: http://localhost:1234/")
    48  	//	sock := http.ListenAndServe("localhost:1234", nil)				// sin mux
    49  	//sock := http.ListenAndServe("localhost:1234", mux) // using mux
    50  	//log.Fatalln(sock)
    51  
    52  	// mejorando servidor
    53  	server := &http.Server{
    54  		Addr:    "localhost:1234",
    55  		Handler: mux,
    56  	}
    57  	log.Fatal(server.ListenAndServe())
    58  
    59  }