Kaynağa Gözat

Обновить 'Server_Golang/main.go'

gr782_lva 3 yıl önce
ebeveyn
işleme
8d55d74bce
1 değiştirilmiş dosya ile 32 ekleme ve 33 silme
  1. 32 33
      Server_Golang/main.go

+ 32 - 33
Server_Golang/main.go

@@ -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)
+}