|
@@ -1,44 +1,43 @@
|
|
|
package main
|
|
|
|
|
|
import (
|
|
|
- "fmt"
|
|
|
- "log"
|
|
|
- "net/http"
|
|
|
- "encoding/json"
|
|
|
-)
|
|
|
-
|
|
|
-var (
|
|
|
- counter int64
|
|
|
+"fmt"
|
|
|
+"log"
|
|
|
+"net/http"
|
|
|
+"strings"
|
|
|
+"time"
|
|
|
)
|
|
|
|
|
|
func main() {
|
|
|
- http.HandleFunc("/OK", get_status) // Обработка запроса /OK
|
|
|
- http.HandleFunc("/Info", get_info) //Обработка запроса /Info
|
|
|
- log.Fatal(http.ListenAndServe("localhost:8000", nil)) // Адрес сервака
|
|
|
+http.HandleFunc("/", slash) // Устанавливаем роутер (Следующие аналогично)
|
|
|
+http.HandleFunc("/ok", ok) // Устанавливаем роутер ok
|
|
|
+http.HandleFunc("/info", info) // Устанавливаем роутер info
|
|
|
+http.HandleFunc("/status", status) // Устанавливаем роутер info
|
|
|
+err := http.ListenAndServe(":80", nil) // Ставим порт 80 так как HTTP
|
|
|
+if err != nil {
|
|
|
+log.Fatal("ListenAndServe: ", err)
|
|
|
+}
|
|
|
+}
|
|
|
|
|
|
+func slash (w http.ResponseWriter,r *http.Request) {
|
|
|
+fmt.Fprint(w,"Если вы видите этот текст, значит это каким то образом работает")
|
|
|
+}
|
|
|
+func ok (w http.ResponseWriter,r *http.Request) {
|
|
|
+w.WriteHeader(http.StatusOK)
|
|
|
+fmt.Fprint(w,"Возвращает для HTTP статус OK")
|
|
|
+}
|
|
|
+func info (w http.ResponseWriter,r *http.Request) {
|
|
|
+fmt.Fprint(w,"Выдает информацию о хозяине то есть Ли Владислав")
|
|
|
}
|
|
|
|
|
|
-func get_status(w http.ResponseWriter, r *http.Request) {
|
|
|
- //Ставим наш заголовок в ответе на запрос как удачный
|
|
|
- w.WriteHeader(http.StatusOK)
|
|
|
- //Тип данных которые мы отправляем json формат
|
|
|
- w.Header().Set("Content-Type", "application/json")
|
|
|
- //map для прикола
|
|
|
- resp := make(map[string]string)
|
|
|
+func status (w http.ResponseWriter,r *http.Request) {
|
|
|
+var remoteIp = r.RemoteAddr
|
|
|
+var splitIp = strings.Split(remoteIp, ".")
|
|
|
+var fmtIP = fmt.Sprint(splitIp[0], ".x.x.", strings.Split(splitIp[3], ":")[0])
|
|
|
|
|
|
- //заносим данные в map , map - хэш таблица , то есть ключ - значение , так как ключ и значение стринг , заносим следующие данные
|
|
|
- resp["message"] = "Status OK"
|
|
|
- //Json Marshal нужен для преобразования в json объект
|
|
|
- jsonResp, err := json.Marshal(resp)
|
|
|
- //проверка на ошибку
|
|
|
- if err != nil {
|
|
|
- log.Fatalf("Error happened in JSON marshal. Err: %s", err)
|
|
|
- }
|
|
|
- //Отправили
|
|
|
- w.Write(jsonResp)
|
|
|
-
|
|
|
-}
|
|
|
+var fmtDate = time.Now().Format("2006-01-02 3:4:5 pm")
|
|
|
|
|
|
-func get_info(w http.ResponseWriter, r *http.Request) {
|
|
|
- fmt.Fprintf(w, "Vlad li 782\n")
|
|
|
-}
|
|
|
+fmt.Fprintf(w,"Ли Владислав\n")
|
|
|
+fmt.Fprintf(w, fmtDate + "\n")
|
|
|
+fmt.Fprintf(w, fmtIP)
|
|
|
+}
|