mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-22 17:31:03 +01:00
- Replaced all instances of apex/log with a structured logger interface in various services, including Api, Server, Config, and others, to enhance logging consistency and context. - Updated logging calls to utilize the new logger methods, improving error tracking and service monitoring. - Added logger initialization in services and controllers to ensure proper logging setup. - Improved error handling and logging messages for better clarity during service operations. - Removed unused apex/log imports and cleaned up related code for better maintainability.
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
package controllers
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gorilla/websocket"
|
|
"io"
|
|
http2 "net/http"
|
|
)
|
|
|
|
type WsWriter struct {
|
|
io.Writer
|
|
io.Closer
|
|
conn *websocket.Conn
|
|
}
|
|
|
|
func (w *WsWriter) Write(data []byte) (n int, err error) {
|
|
logger.Infof("websocket write: %s", string(data))
|
|
err = w.conn.WriteMessage(websocket.TextMessage, data)
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
return len(data), nil
|
|
}
|
|
|
|
func (w *WsWriter) Close() (err error) {
|
|
return w.conn.Close()
|
|
}
|
|
|
|
func (w *WsWriter) CloseWithText(text string) {
|
|
_ = w.conn.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, text))
|
|
}
|
|
|
|
func (w *WsWriter) CloseWithError(err error) {
|
|
_ = w.conn.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseInternalServerErr, err.Error()))
|
|
}
|
|
|
|
func NewWsWriter(c *gin.Context) (writer *WsWriter, err error) {
|
|
upgrader := websocket.Upgrader{
|
|
ReadBufferSize: 1024,
|
|
WriteBufferSize: 1024,
|
|
CheckOrigin: func(r *http2.Request) bool {
|
|
return true
|
|
},
|
|
}
|
|
|
|
conn, err := upgrader.Upgrade(c.Writer, c.Request, nil)
|
|
if err != nil {
|
|
logger.Errorf("websocket open connection error: %v", err)
|
|
}
|
|
|
|
return &WsWriter{
|
|
conn: conn,
|
|
}, nil
|
|
}
|