main.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /******************************************************************************
  2. Online Go Lang Compiler.
  3. Code, Compile, Run and Debug Go Lang program online.
  4. Write your code in this editor and press "Run" button to execute it.
  5. *******************************************************************************/
  6. package main
  7. import (
  8. "fmt"
  9. "log"
  10. "net/http"
  11. "strings"
  12. "time"
  13. )
  14. func main() {
  15. http.HandleFunc("/", slash) // Устанавливаем роутер (Следующие аналогично)
  16. http.HandleFunc("/ok", ok) // Устанавливаем роутер ok
  17. http.HandleFunc("/info", info) // Устанавливаем роутер info
  18. http.HandleFunc("/status", status) // Устанавливаем роутер info
  19. err := http.ListenAndServe(":80", nil) // Ставим порт 80 так как HTTP
  20. if err != nil {
  21. log.Fatal("ListenAndServe: ", err)
  22. }
  23. }
  24. func slash (w http.ResponseWriter,r *http.Request) {
  25. fmt.Fprint(w,"Если вы видите этот текст, значит это каким то образом работает")
  26. }
  27. func ok (w http.ResponseWriter,r *http.Request) {
  28. w.WriteHeader(http.StatusOK)
  29. fmt.Fprint(w,"Возвращает для HTTP статус OK")
  30. }
  31. func info (w http.ResponseWriter,r *http.Request) {
  32. fmt.Fprint(w,"Выдает информацию о хозяине то есть Ли Владислав")
  33. }
  34. func status (w http.ResponseWriter,r *http.Request) {
  35. var remoteIp = r.RemoteAddr
  36. var splitIp = strings.Split(remoteIp, ".")
  37. var fmtIP = fmt.Sprint(splitIp[0], ".x.x.", strings.Split(splitIp[3], ":")[0])
  38. var fmtDate = time.Now().Format("2006-01-02 3:4:5 pm")
  39. fmt.Fprintf(w,"Ли Владислав\n")
  40. fmt.Fprintf(w, fmtDate + "\n")
  41. fmt.Fprintf(w, fmtIP)
  42. }