123456789101112131415161718192021222324252627282930313233343536373839 |
- package main
- import (
- "fmt"
- "log"
- "net"
- "net/http"
- "regexp"
- "time"
- )
- func main() {
- http.HandleFunc("/Info", info)
- http.HandleFunc("/Ok", ok)
- http.HandleFunc("/Status", status)
- http.ListenAndServe(":8081", nil) // устанавливаем порт веб-сервера
- err := http.ListenAndServe(":8081", nil)
- if err != nil {
- log.Fatal("ListenAndServe: ", err)
- }
- }
- func info(w http.ResponseWriter, r *http.Request) {
- fmt.Fprint(w, "HTTP-status 200")
- }
- func ok(w http.ResponseWriter, r *http.Request) {
- fmt.Fprint(w, "Kruglov Kirill,792")
- }
- func status(w http.ResponseWriter, r *http.Request) {
- ip, _, _ := net.SplitHostPort(r.RemoteAddr) // SHP на выходе дает 3 переменные
- re := regexp.MustCompile(`[.].*[.]`) // MC библиотека для работы с регулярками;
- // [.] - Соответствует одному символу из содержащихся в квадратных скобках
- fmt.Fprintln(w, re.ReplaceAllString(ip, ".*.*.")) // В реплейс загоняем необработанный текст, он на выходе выдает обработанный с помощью регулярки
- fmt.Fprintf(w, "Kruglov Kirill,792"+"\n")
- fmt.Fprintln(w, time.Now().Format("2006-01-02 3:4:5 pm"))
- }
|