fix: extract repeated IRC command string literals to constants (goconst)
All checks were successful
check / check (push) Successful in 2m18s

This commit is contained in:
2026-03-09 15:07:02 -07:00
parent 8d26df60db
commit a193831ed4

View File

@@ -27,7 +27,15 @@ const (
defaultMaxBodySize = 4096 defaultMaxBodySize = 4096
defaultHistLimit = 50 defaultHistLimit = 50
maxHistLimit = 500 maxHistLimit = 500
cmdJoin = "JOIN"
cmdList = "LIST"
cmdNick = "NICK"
cmdPart = "PART"
cmdPrivmsg = "PRIVMSG" cmdPrivmsg = "PRIVMSG"
cmdQuit = "QUIT"
cmdTopic = "TOPIC"
cmdWho = "WHO"
cmdWhois = "WHOIS"
) )
func (hdlr *Handlers) maxBodySize() int64 { func (hdlr *Handlers) maxBodySize() int64 {
@@ -756,32 +764,32 @@ func (hdlr *Handlers) dispatchCommand(
sessionID, clientID, nick, sessionID, clientID, nick,
command, target, body, bodyLines, command, target, body, bodyLines,
) )
case "JOIN": case cmdJoin:
hdlr.handleJoin( hdlr.handleJoin(
writer, request, writer, request,
sessionID, clientID, nick, target, sessionID, clientID, nick, target,
) )
case "PART": case cmdPart:
hdlr.handlePart( hdlr.handlePart(
writer, request, writer, request,
sessionID, clientID, nick, target, body, sessionID, clientID, nick, target, body,
) )
case "NICK": case cmdNick:
hdlr.handleNick( hdlr.handleNick(
writer, request, writer, request,
sessionID, clientID, nick, bodyLines, sessionID, clientID, nick, bodyLines,
) )
case "TOPIC": case cmdTopic:
hdlr.handleTopic( hdlr.handleTopic(
writer, request, writer, request,
sessionID, clientID, nick, sessionID, clientID, nick,
target, body, bodyLines, target, body, bodyLines,
) )
case "QUIT": case cmdQuit:
hdlr.handleQuit( hdlr.handleQuit(
writer, request, sessionID, nick, body, writer, request, sessionID, nick, body,
) )
case "MOTD", "LIST", "WHO", "WHOIS", "PING": case "MOTD", cmdList, cmdWho, cmdWhois, "PING":
hdlr.dispatchInfoCommand( hdlr.dispatchInfoCommand(
writer, request, writer, request,
sessionID, clientID, nick, sessionID, clientID, nick,
@@ -815,18 +823,18 @@ func (hdlr *Handlers) dispatchQueryCommand(
writer, request, writer, request,
sessionID, clientID, nick, target, sessionID, clientID, nick, target,
) )
case "LIST": case cmdList:
hdlr.handleList( hdlr.handleList(
writer, request, writer, request,
sessionID, clientID, nick, sessionID, clientID, nick,
) )
case "WHOIS": case cmdWhois:
hdlr.handleWhois( hdlr.handleWhois(
writer, request, writer, request,
sessionID, clientID, nick, sessionID, clientID, nick,
target, bodyLines, target, bodyLines,
) )
case "WHO": case cmdWho:
hdlr.handleWho( hdlr.handleWho(
writer, request, writer, request,
sessionID, clientID, nick, target, sessionID, clientID, nick, target,
@@ -1073,7 +1081,7 @@ func (hdlr *Handlers) handleJoin(
if target == "" { if target == "" {
hdlr.respondIRCError( hdlr.respondIRCError(
writer, request, clientID, sessionID, writer, request, clientID, sessionID,
"461", nick, []string{"JOIN"}, "461", nick, []string{cmdJoin},
"Not enough parameters", "Not enough parameters",
) )
@@ -1144,7 +1152,7 @@ func (hdlr *Handlers) executeJoin(
) )
_ = hdlr.fanOutSilent( _ = hdlr.fanOutSilent(
request, "JOIN", nick, channel, nil, memberIDs, request, cmdJoin, nick, channel, nil, memberIDs,
) )
hdlr.deliverJoinNumerics( hdlr.deliverJoinNumerics(
@@ -1242,7 +1250,7 @@ func (hdlr *Handlers) handlePart(
if target == "" { if target == "" {
hdlr.enqueueNumeric( hdlr.enqueueNumeric(
request.Context(), clientID, request.Context(), clientID,
"461", nick, []string{"PART"}, "461", nick, []string{cmdPart},
"Not enough parameters", "Not enough parameters",
) )
hdlr.broker.Notify(sessionID) hdlr.broker.Notify(sessionID)
@@ -1280,7 +1288,7 @@ func (hdlr *Handlers) handlePart(
) )
_ = hdlr.fanOutSilent( _ = hdlr.fanOutSilent(
request, "PART", nick, channel, body, memberIDs, request, cmdPart, nick, channel, body, memberIDs,
) )
err = hdlr.params.Database.PartChannel( err = hdlr.params.Database.PartChannel(
@@ -1322,7 +1330,7 @@ func (hdlr *Handlers) handleNick(
if len(lines) == 0 { if len(lines) == 0 {
hdlr.respondIRCError( hdlr.respondIRCError(
writer, request, clientID, sessionID, writer, request, clientID, sessionID,
"461", nick, []string{"NICK"}, "461", nick, []string{cmdNick},
"Not enough parameters", "Not enough parameters",
) )
@@ -1420,7 +1428,7 @@ func (hdlr *Handlers) broadcastNick(
} }
dbID, _, _ := hdlr.params.Database.InsertMessage( dbID, _, _ := hdlr.params.Database.InsertMessage(
request.Context(), "NICK", oldNick, "", request.Context(), cmdNick, oldNick, "",
nil, json.RawMessage(nickBody), nil, nil, json.RawMessage(nickBody), nil,
) )
@@ -1461,7 +1469,7 @@ func (hdlr *Handlers) handleTopic(
if target == "" { if target == "" {
hdlr.respondIRCError( hdlr.respondIRCError(
writer, request, clientID, sessionID, writer, request, clientID, sessionID,
"461", nick, []string{"TOPIC"}, "461", nick, []string{cmdTopic},
"Not enough parameters", "Not enough parameters",
) )
@@ -1472,7 +1480,7 @@ func (hdlr *Handlers) handleTopic(
if len(lines) == 0 { if len(lines) == 0 {
hdlr.respondIRCError( hdlr.respondIRCError(
writer, request, clientID, sessionID, writer, request, clientID, sessionID,
"461", nick, []string{"TOPIC"}, "461", nick, []string{cmdTopic},
"Not enough parameters", "Not enough parameters",
) )
@@ -1534,7 +1542,7 @@ func (hdlr *Handlers) executeTopic(
) )
_ = hdlr.fanOutSilent( _ = hdlr.fanOutSilent(
request, "TOPIC", nick, channel, body, memberIDs, request, cmdTopic, nick, channel, body, memberIDs,
) )
hdlr.enqueueNumeric( hdlr.enqueueNumeric(
@@ -1567,16 +1575,16 @@ func (hdlr *Handlers) dispatchInfoCommand(
hdlr.deliverMOTD( hdlr.deliverMOTD(
request, clientID, sessionID, nick, request, clientID, sessionID, nick,
) )
case "LIST": case cmdList:
hdlr.handleListCmd( hdlr.handleListCmd(
request, clientID, sessionID, nick, request, clientID, sessionID, nick,
) )
case "WHO": case cmdWho:
hdlr.handleWhoCmd( hdlr.handleWhoCmd(
request, clientID, sessionID, nick, request, clientID, sessionID, nick,
target, target,
) )
case "WHOIS": case cmdWhois:
hdlr.handleWhoisCmd( hdlr.handleWhoisCmd(
request, clientID, sessionID, nick, request, clientID, sessionID, nick,
target, bodyLines, target, bodyLines,
@@ -1657,7 +1665,7 @@ func (hdlr *Handlers) handleWhoCmd(
if target == "" { if target == "" {
hdlr.enqueueNumeric( hdlr.enqueueNumeric(
ctx, clientID, "461", nick, ctx, clientID, "461", nick,
[]string{"WHO"}, "Not enough parameters", []string{cmdWho}, "Not enough parameters",
) )
hdlr.broker.Notify(sessionID) hdlr.broker.Notify(sessionID)
@@ -1728,7 +1736,7 @@ func (hdlr *Handlers) handleWhoisCmd(
if whoisNick == "" { if whoisNick == "" {
hdlr.enqueueNumeric( hdlr.enqueueNumeric(
ctx, clientID, "461", nick, ctx, clientID, "461", nick,
[]string{"WHOIS"}, "Not enough parameters", []string{cmdWhois}, "Not enough parameters",
) )
hdlr.broker.Notify(sessionID) hdlr.broker.Notify(sessionID)
@@ -1831,7 +1839,7 @@ func (hdlr *Handlers) handleQuit(
if len(channels) > 0 { if len(channels) > 0 {
dbID, _, _ = hdlr.params.Database.InsertMessage( dbID, _, _ = hdlr.params.Database.InsertMessage(
request.Context(), "QUIT", nick, "", request.Context(), cmdQuit, nick, "",
nil, body, nil, nil, body, nil,
) )
} }
@@ -2100,7 +2108,7 @@ func (hdlr *Handlers) handleWhois(
if queryNick == "" { if queryNick == "" {
hdlr.respondIRCError( hdlr.respondIRCError(
writer, request, clientID, sessionID, writer, request, clientID, sessionID,
"461", nick, []string{"WHOIS"}, "461", nick, []string{cmdWhois},
"Not enough parameters", "Not enough parameters",
) )
@@ -2211,7 +2219,7 @@ func (hdlr *Handlers) handleWho(
if target == "" { if target == "" {
hdlr.respondIRCError( hdlr.respondIRCError(
writer, request, clientID, sessionID, writer, request, clientID, sessionID,
"461", nick, []string{"WHO"}, "461", nick, []string{cmdWho},
"Not enough parameters", "Not enough parameters",
) )
@@ -2499,7 +2507,7 @@ func (hdlr *Handlers) cleanupUser(
if len(channels) > 0 { if len(channels) > 0 {
quitDBID, _, _ = hdlr.params.Database.InsertMessage( quitDBID, _, _ = hdlr.params.Database.InsertMessage(
ctx, "QUIT", nick, "", ctx, cmdQuit, nick, "",
nil, nil, nil, nil, nil, nil,
) )
} }