| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package main
- import (
- "encoding/json"
- "fmt"
- "net/http"
- "strconv"
- )
- func httpHandle() {
- http.HandleFunc("/", IndexHandler)
- http.HandleFunc("/api/client/get", selectAllClientHandler)
- http.HandleFunc("/api/cpu/get", selectCPUPercentHandler)
- http.HandleFunc("/api/memory/get", selectMemoryHandler)
- }
- func cors(w http.ResponseWriter) {
- w.Header().Set("Access-Control-Allow-Origin", "*")
- w.Header().Add("Access-Control-Allow-Headers", "*")
- //w.Header().Set("content-type","application/json")
- }
- func IndexHandler(w http.ResponseWriter, r *http.Request) {
- cors(w)
- _, _ = fmt.Fprint(w, "Hello, world!")
- }
- func selectCPUPercentHandler(w http.ResponseWriter, r *http.Request) {
- cors(w)
- id := r.FormValue("id")
- t := r.FormValue("time")
- if t == "" {
- t = "0"
- }
- time, err := strconv.Atoi(t)
- if err != nil {
- _, _ = fmt.Fprint(w, "Bad params!")
- return
- }
- limit, err := strconv.Atoi(r.FormValue("limit"))
- if err != nil {
- _, _ = fmt.Fprint(w, "Bad params!")
- return
- }
- data, last, err := getCPUPercent(id, int64(time), limit)
- if err != nil {
- _, _ = fmt.Fprint(w, "Could not get data!")
- return
- }
- type result struct {
- Data []CPUPercentDB `json:"data"`
- Last int64 `json:"last"`
- }
- res := result{
- Data: *data,
- Last: last,
- }
- j, err := json.Marshal(res)
- if err != nil {
- _, _ = fmt.Fprint(w, "Could not get data!")
- return
- }
- w.Header().Set("content-type", "application/json")
- _, _ = fmt.Fprintf(w, "%s", j)
- }
- func selectMemoryHandler(w http.ResponseWriter, r *http.Request) {
- cors(w)
- id := r.FormValue("id")
- t := r.FormValue("time")
- if t == "" {
- t = "0"
- }
- time, err := strconv.Atoi(t)
- if err != nil {
- _, _ = fmt.Fprint(w, "Bad params!")
- return
- }
- limit, err := strconv.Atoi(r.FormValue("limit"))
- if err != nil {
- _, _ = fmt.Fprint(w, "Bad params!")
- return
- }
- data, last, err := getMemory(id, int64(time), limit)
- if err != nil {
- _, _ = fmt.Fprint(w, "Could not get data!")
- return
- }
- type result struct {
- Data []MemoryDB `json:"data"`
- Last int64 `json:"last"`
- }
- res := result{
- Data: *data,
- Last: last,
- }
- j, err := json.Marshal(res)
- if err != nil {
- _, _ = fmt.Fprint(w, "Could not get data!")
- return
- }
- w.Header().Set("content-type", "application/json")
- _, _ = fmt.Fprintf(w, "%s", j)
- }
- func selectAllClientHandler(w http.ResponseWriter, r *http.Request) {
- cors(w)
- data, err := getClient()
- if err != nil {
- fmt.Println(err)
- _, _ = fmt.Fprint(w, "Could not get data!")
- return
- }
- j, err := json.Marshal(data)
- if err != nil {
- _, _ = fmt.Fprint(w, "Could not get data!")
- return
- }
- w.Header().Set("content-type", "application/json")
- _, _ = fmt.Fprintf(w, "%s", j)
- }
|