main.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "net"
  6. "net/http"
  7. "regexp"
  8. "time"
  9. )
  10. func main() {
  11. http.HandleFunc("/Info", info)
  12. http.HandleFunc("/Ok", ok)
  13. http.HandleFunc("/Status", status)
  14. http.ListenAndServe(":8081", nil) // устанавливаем порт веб-сервера
  15. err := http.ListenAndServe(":8081", nil)
  16. if err != nil {
  17. log.Fatal("ListenAndServe: ", err)
  18. }
  19. }
  20. func info(w http.ResponseWriter, r *http.Request) {
  21. fmt.Fprint(w, "HTTP-status 200")
  22. }
  23. func ok(w http.ResponseWriter, r *http.Request) {
  24. fmt.Fprint(w, "Kruglov Kirill,792")
  25. }
  26. func status(w http.ResponseWriter, r *http.Request) {
  27. ip, _, _ := net.SplitHostPort(r.RemoteAddr) // SHP на выходе дает 3 переменные
  28. re := regexp.MustCompile(`[.].*[.]`) // MC библиотека для работы с регулярками;
  29. // [.] - Соответствует одному символу из содержащихся в квадратных скобках
  30. fmt.Fprintln(w, re.ReplaceAllString(ip, ".*.*.")) // В реплейс загоняем необработанный текст, он на выходе выдает обработанный с помощью регулярки
  31. fmt.Fprintf(w, "Kruglov Kirill,792"+"\n")
  32. fmt.Fprintln(w, time.Now().Format("2006-01-02 3:4:5 pm"))
  33. }