Advertisement
AntonioVillanueva

Web Server in Go Goland

Mar 31st, 2023 (edited)
1,972
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 1.21 KB | None | 0 0
  1.  
  2. /*
  3. Web server http://127.0.0.1:8080/
  4. https://pkg.go.dev/net/http
  5. */
  6. package main
  7.  
  8. import (
  9.     "bufio"
  10.     "fmt"
  11.     "io/ioutil"
  12.     "log"
  13.     "net/http"
  14.     "os"
  15. )
  16.  
  17. const port = ":8080"
  18.  
  19. //Callback pour /
  20. func Raiz(w http.ResponseWriter, r *http.Request) {
  21.     fmt.Fprint(w, "Hola")
  22. }
  23.  
  24. //Callback pour /info
  25. func Info(w http.ResponseWriter, r *http.Request) {
  26.     fmt.Fprint(w, "Antonio Villanueva ")
  27. }
  28.  
  29. //Callback pour /Acerca
  30. func About(w http.ResponseWriter, r *http.Request) {
  31.     fmt.Fprint(w, "Web Server by Icaro ")
  32. }
  33.  
  34. //Callback pour /Image
  35. func Image(w http.ResponseWriter, r *http.Request) {
  36.     // Ouvrir le fichier image .image dans le dossier du programme ;)
  37.     f, _ := os.Open("./icaro.jpg")
  38.  
  39.     // lecture de fichier JPG .
  40.     reader := bufio.NewReader(f)
  41.     content, _ := ioutil.ReadAll(reader)
  42.  
  43.     // Définir l'en-tête Type de contenu  image/jpeg.
  44.     w.Header().Set("Content-Type", "image/jpeg")
  45.  
  46.     // Nous écrivons l'image JPG en réponse
  47.     w.Write(content)
  48. }
  49.  
  50. func main() {
  51.     http.HandleFunc("/", Raiz)
  52.     http.HandleFunc("/info", Info)
  53.     http.HandleFunc("/Acerca", About)
  54.     http.HandleFunc("/Image", Image)
  55.  
  56.     fmt.Println("Run Web server on Port ", port)
  57.  
  58.     log.Fatal(http.ListenAndServe(port, nil))
  59. }
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement