¿Qué son las funciones de control?
Las funciones de control (handler functions) define como una petición que es realizada y manejada, así como la respuesta que es retornada al cliente.
¿Cuáles son las tareas que realizan las handler functions?
- Leer/escribir en las cabeceras (headers).
- Examinar el tipo de petición (request).
- Leer información de la base de datos.
- Procesar solicitudes de datos.
- Autenticación.
Las funciones de control tienen acceso al Request (Petición) y Response (Respuesta), de tal forma que se realice todo lo necesario de la petición antes de enviar la respuesta al cliente. Una vez que se escriba la respuesta, esta no podrá ser alterada. Para notificar al cliente de dicha respuesta echamos mano del método Response.Write.
Ejemplo del uso de handler functions
package main
import (
"net/http"
)
func Home(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/html")
w.Write([]byte("Hola Mundo"))
}
func main() {
http.HandleFunc("/", Home)
http.ListenAndServe(":8000", nil)
}
Descripción del ejemplo del uso de handler functions
- Hemos utilizado una función de control llamada Home.
- La función de control define que la respuesta es tipo text/html mediante.
w.Header().Set("Content-Type", "text/html")
- Finalmente se envía la salida del Hola Mundo.
w.Write([]byte("Hola Mundo"))