|
@@ -0,0 +1,39 @@
|
|
|
|
+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"))
|
|
|
|
+
|
|
|
|
+}
|