45 lines
865 B
Go
45 lines
865 B
Go
package meowlib
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/json"
|
|
"io"
|
|
"net/http"
|
|
"time"
|
|
)
|
|
|
|
func HttpGetId(url string) (response map[string]string, err error) {
|
|
srvId := make(map[string]string)
|
|
resp, err := http.Get(url + "/id")
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer resp.Body.Close()
|
|
body, err := io.ReadAll(resp.Body)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
err = json.Unmarshal(body, &srvId)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return srvId, nil
|
|
}
|
|
|
|
func HttpPostMessage(url string, msg []byte, timeout int) (response []byte, err error) {
|
|
client := http.Client{
|
|
Timeout: time.Duration(timeout) * time.Second,
|
|
}
|
|
resp, err := client.Post(url+"/msg",
|
|
"application/octet-stream", bytes.NewBuffer(msg))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer resp.Body.Close()
|
|
body, err := io.ReadAll(resp.Body)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return body, nil
|
|
}
|