todo
This commit is contained in:
@@ -13,6 +13,10 @@ func (v01 *V01) listen() {
|
||||
if v01.cfg.Feedback.Addr == "" {
|
||||
return
|
||||
}
|
||||
return v01._listen()
|
||||
}
|
||||
|
||||
func (v01 *V01) _listen() {
|
||||
mutex := &sync.RWMutex{}
|
||||
s := &http.Server{
|
||||
Addr: v01.cfg.Feedback.Addr,
|
||||
@@ -24,25 +28,7 @@ func (v01 *V01) listen() {
|
||||
mutex.Lock()
|
||||
defer mutex.Unlock()
|
||||
}
|
||||
if r.Method == http.MethodGet {
|
||||
r = r.WithContext(v01.ctx)
|
||||
user, ok := v01.cfg.Users[r.URL.Query().Get("user")]
|
||||
if !ok {
|
||||
user = v01.cfg.Users["broadcast"]
|
||||
}
|
||||
w.Write([]byte(user.Message))
|
||||
} else if r.URL.Path == "/broadcast" {
|
||||
b, _ := io.ReadAll(r.Body)
|
||||
v := v01.cfg.Users["broadcast"]
|
||||
v.Message = string(b)
|
||||
v01.cfg.Users["broadcast"] = v
|
||||
}
|
||||
if _, ok := r.URL.Query()["refresh"]; ok {
|
||||
select {
|
||||
case wrap.ChSigUsr1 <- syscall.SIGUSR1:
|
||||
default:
|
||||
}
|
||||
}
|
||||
v01.ServeHTTP(w, r)
|
||||
}),
|
||||
}
|
||||
go func() {
|
||||
@@ -56,3 +42,25 @@ func (v01 *V01) listen() {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func (v01 *V01) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
if r.Method == http.MethodGet {
|
||||
r = r.WithContext(v01.ctx)
|
||||
user, ok := v01.cfg.Users[r.URL.Query().Get("user")]
|
||||
if !ok {
|
||||
user = v01.cfg.Users["broadcast"]
|
||||
}
|
||||
w.Write([]byte(user.Message))
|
||||
} else if r.URL.Path == "/broadcast" {
|
||||
b, _ := io.ReadAll(r.Body)
|
||||
v := v01.cfg.Users["broadcast"]
|
||||
v.Message = string(b)
|
||||
v01.cfg.Users["broadcast"] = v
|
||||
}
|
||||
if _, ok := r.URL.Query()["refresh"]; ok {
|
||||
select {
|
||||
case wrap.ChSigUsr1 <- syscall.SIGUSR1:
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user