43 lines · 838 B · Go
RawDownload
package api import (	"bufio"	"net" 	log "github.com/sirupsen/logrus") func isRedisRESPPrefix(prefix byte) bool {	switch prefix {	case '*', '$', '+', '-', ':':		return true	default:		return false	}} func (s *Server) handleRedisConnection(conn net.Conn) {	if s == nil || conn == nil {		return	} 	writer := bufio.NewWriter(conn)	defer func() {		if errClose := conn.Close(); errClose != nil {			log.Errorf("redis connection close error: %v", errClose)		}	}() 	_ = writeRedisError(writer, "ERR RESP AUTH disabled; use mTLS")	if errFlush := writer.Flush(); errFlush != nil {		log.Errorf("redis protocol flush error: %v", errFlush)	}} func writeRedisError(writer *bufio.Writer, message string) error {	if writer == nil {		return net.ErrClosed	}	_, err := writer.WriteString("-" + message + "\r\n")	return err}