Move to udico.de/util/log for logging

This commit is contained in:
uditaren 2024-08-31 13:08:44 +02:00
parent d772b82e94
commit e59cbbc469
5 changed files with 28 additions and 20 deletions

5
go.mod
View File

@ -4,4 +4,7 @@ go 1.20
require github.com/sirupsen/logrus v1.9.0
require golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect
require (
github.com/stretchr/testify v1.8.0 // indirect
golang.org/x/sys v0.4.0 // indirect
)

6
go.sum
View File

@ -6,10 +6,10 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ=
github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=

View File

@ -9,9 +9,9 @@ import (
"encoding/base64"
"errors"
"fmt"
log "github.com/sirupsen/logrus"
"net"
"net/http"
"udico.de/util/log"
)
// A Listener as defined in net.Listener for accepting WebSocket connections.
@ -47,7 +47,7 @@ func (l Listener) Accept() (net.Conn, error) {
}
// Close closes the listener.
// Any blocked Accept operations will be unblocked and return errors.
// Any blocked Accept() operations will be unblocked and return errors.
func (l Listener) Close() error {
select {
case _, ok := <-l.cConn:
@ -89,13 +89,13 @@ func (l Listener) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
// - Sec-WebSocket-Extensions is optional
if req.Method != "GET" {
log.Error("Invalid method!")
log.ERROR.To(logger).Msg("Invalid method!")
resp.WriteHeader(http.StatusMethodNotAllowed)
return
}
if req.RequestURI == "" {
log.Errorf("Invalid Request URI: '%v'", req.RequestURI)
log.ERROR.To(logger).Msg("Invalid Request URI: '%v'", req.RequestURI)
resp.WriteHeader(http.StatusNotAcceptable) // ???
return
}
@ -107,27 +107,27 @@ func (l Listener) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
//}
if req.Header.Get("Connection") != "Upgrade" {
log.Error("Connection != Upgrade")
log.ERROR.To(logger).Msg("Connection != Upgrade")
resp.WriteHeader(http.StatusUpgradeRequired)
return
}
if req.Header.Get("Upgrade") != "websocket" {
log.Error("Upgrade != websocket")
log.ERROR.To(logger).Msg("Upgrade != websocket")
resp.WriteHeader(http.StatusUpgradeRequired)
return
}
if req.Header.Get("Sec-WebSocket-Version") != "13" {
log.Error("Invalid WebSocket Version")
log.ERROR.To(logger).Msg("Invalid WebSocket Version")
resp.WriteHeader(http.StatusUpgradeRequired)
return
}
// Todo: remove all that debug spam
log.Warn("In the websocket handler - yay!")
log.DEBUG.To(logger).Msg("In the websocket handler - yay!")
for k, v := range req.Header {
log.Infof(" %v: %v", k, v[0])
log.INFO.To(logger).Msg(" %v: %v", k, v[0])
}
wsKey := req.Header.Get("Sec-Websocket-Key")
@ -135,7 +135,7 @@ func (l Listener) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
shakey := sha1.Sum([]byte(wsKey))
wsKey = base64.StdEncoding.EncodeToString(shakey[:])
log.Info("Generated WebSocket-Accept: ", wsKey)
log.INFO.To(logger).Msg("Generated WebSocket-Accept: ", wsKey)
// NOPE: we need to hijack the connection and send it manually!
//resp.Header().Set("Upgrade", "websocket")
//resp.Header().Set("Connection", "Upgrade")
@ -144,13 +144,13 @@ func (l Listener) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
h, ok := resp.(http.Hijacker)
if !ok {
log.Error("Missing Hijacker extension on responsewriter")
log.ERROR.To(logger).Msg("Missing Hijacker extension on responsewriter")
return
}
var brw *bufio.ReadWriter // only used to check for data sent by the client (which is disallowed)
conn, brw, err := h.Hijack() // returns the connection and the readwriter to operate on
if err != nil {
log.WithError(err).Error("cannot hijack")
log.ERROR.To(logger).Err(err).Msg("cannot hijack connection")
return
}
@ -163,7 +163,7 @@ func (l Listener) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
// the client must not've sent any data before the handshake is complete
if brw.Reader.Buffered() > 0 {
conn.Close()
log.Error("client send before handshake!")
log.ERROR.To(logger).Msg("client send before handshake!")
return
}

5
log.go Normal file
View File

@ -0,0 +1,5 @@
package zocket
import "udico.de/util/log"
var logger = log.Logger("zocket").SetLevel(log.TRACE)

View File

@ -6,9 +6,9 @@ import (
"bytes"
"errors"
"fmt"
"github.com/sirupsen/logrus"
"net"
"time"
"udico.de/util/log"
)
// ServerConnection is the serverside part of the ws abstraction
@ -56,7 +56,7 @@ datloop:
break datloop
}
default:
logrus.Errorf("uhandled frame type: %v", tFrame.Opcode)
log.ERROR.To(logger).Msg("uhandled frame type: %v", tFrame.Opcode)
}
}
bytes := buf.Bytes()
@ -88,7 +88,7 @@ func (c ServerConnection) Write(b []byte) (int, error) {
// Close terminates the connection nicely.
func (c ServerConnection) Close() error {
logrus.Debugf("serverconn_close %v", c)
log.TRACE.To(logger).Msg("serverconn_close %v", c)
//debug.PrintStack()
tFrame := &Frame{
Fin: true,