Minor fixes

This commit is contained in:
世界
2022-07-20 09:41:44 +08:00
parent 45643fbed1
commit 6327c4b40c
16 changed files with 79 additions and 84 deletions

View File

@@ -3,6 +3,7 @@ package clashapi
import (
"bytes"
"context"
"errors"
"net"
"net/http"
"strings"
@@ -85,7 +86,7 @@ func (s *Server) Start() error {
s.logger.Info("restful api listening at ", listener.Addr())
go func() {
err = s.httpServer.Serve(listener)
if err != nil && !E.IsClosed(err) {
if err != nil && !errors.Is(err, http.ErrServerClosed) {
s.logger.Error("external controller serve error: ", err)
}
}()
@@ -243,6 +244,13 @@ func getLogs(logFactory log.ObservableFactory) func(w http.ResponseWriter, r *ht
return
}
subscription, done, err := logFactory.Subscribe()
if err != nil {
render.Status(r, http.StatusNoContent)
return
}
defer logFactory.UnSubscribe(subscription)
var wsConn *websocket.Conn
if websocket.IsWebSocketUpgrade(r) {
var err error
@@ -257,14 +265,6 @@ func getLogs(logFactory log.ObservableFactory) func(w http.ResponseWriter, r *ht
render.Status(r, http.StatusOK)
}
subscription, done, err := logFactory.Subscribe()
if err != nil {
log.Warn(err)
render.Status(r, http.StatusInternalServerError)
return
}
defer logFactory.UnSubscribe(subscription)
buf := &bytes.Buffer{}
var logEntry log.Entry
for {