Update all Go modules in backend/ and backend/_example/memory_store/ to their latest versions (chroma 2.27, go-redis 9.21, bbolt 1.5, slack 0.27, golang.org/x/* and others); re-tidy and re-vendor, keep the example module in sync. Hold github.com/go-chi/chi/v5 at v5.2.5: v5.3.0 deprecates middleware.RealIP (IP-spoofing advisories). Switching off RealIP changes how the client IP is derived for rate limiting and votes, which is a security decision better made on its own rather than inside a dependency bump. go test -race, go vet, golangci-lint and govulncheck all clean on both modules.
61 lines
1.2 KiB
Go
61 lines
1.2 KiB
Go
package slack
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// logger is a logger interface compatible with both stdlib and some
|
|
// 3rd party loggers.
|
|
type logger interface {
|
|
Output(int, string) error
|
|
}
|
|
|
|
// ilogger represents the internal logging api we use.
|
|
type ilogger interface {
|
|
logger
|
|
Print(...any)
|
|
Printf(string, ...any)
|
|
Println(...any)
|
|
}
|
|
|
|
type Debug interface {
|
|
Debug() bool
|
|
|
|
// Debugf print a formatted debug line.
|
|
Debugf(format string, v ...any)
|
|
// Debugln print a debug line.
|
|
Debugln(v ...any)
|
|
}
|
|
|
|
// internalLog implements the additional methods used by our internal logging.
|
|
type internalLog struct {
|
|
logger
|
|
}
|
|
|
|
// Println replicates the behaviour of the standard logger.
|
|
func (t internalLog) Println(v ...any) {
|
|
t.Output(2, fmt.Sprintln(v...))
|
|
}
|
|
|
|
// Printf replicates the behaviour of the standard logger.
|
|
func (t internalLog) Printf(format string, v ...any) {
|
|
t.Output(2, fmt.Sprintf(format, v...))
|
|
}
|
|
|
|
// Print replicates the behaviour of the standard logger.
|
|
func (t internalLog) Print(v ...any) {
|
|
t.Output(2, fmt.Sprint(v...))
|
|
}
|
|
|
|
type discard struct{}
|
|
|
|
func (t discard) Debug() bool {
|
|
return false
|
|
}
|
|
|
|
// Debugf print a formatted debug line.
|
|
func (t discard) Debugf(format string, v ...any) {}
|
|
|
|
// Debugln print a debug line.
|
|
func (t discard) Debugln(v ...any) {}
|