代码质量优化

This commit is contained in:
ryan
2026-06-09 12:16:30 +08:00
parent f428839602
commit 4ac9857fe8
30 changed files with 199 additions and 149 deletions
+4 -4
View File
@@ -36,7 +36,7 @@ type ChallengeConfig struct {
Count int // Number of puzzles (c)
Size int // Salt length (s)
Difficulty int // Difficulty prefix length (d)
ExpiresMs time.Duration // Challenge TTL
Expires time.Duration // Challenge TTL
}
// ChallengeResponse is returned to the client
@@ -156,12 +156,12 @@ func GenerateChallenge(secret []byte, conf ChallengeConfig, scope string) (*Chal
if conf.Difficulty <= 0 {
conf.Difficulty = 4
}
if conf.ExpiresMs <= 0 {
conf.ExpiresMs = 10 * time.Minute
if conf.Expires <= 0 {
conf.Expires = 10 * time.Minute
}
now := time.Now().UnixNano() / int64(time.Millisecond)
expires := now + int64(conf.ExpiresMs/time.Millisecond)
expires := now + int64(conf.Expires/time.Millisecond)
payload := ChallengePayload{
Nonce: randomHex(25),
+1 -9
View File
@@ -75,7 +75,7 @@ func (m *Manager) Generate(ctx context.Context, scope string) (*ChallengeRespons
Count: m.getChallengeCount(ctx),
Size: m.getChallengeSize(ctx),
Difficulty: m.getChallengeDifficulty(ctx),
ExpiresMs: m.getChallengeTTL(ctx),
Expires: m.getChallengeTTL(ctx),
}
return GenerateChallenge(m.conf.Secret, c, scope)
}
@@ -190,14 +190,6 @@ func (m *Manager) VerifyToken(ctx context.Context, token string, expectedScope s
return true, nil
}
// sGet safely calls store.Get, treating a nil store as a miss.
func sGet(ctx context.Context, store Store, key string) (string, bool, error) {
if store == nil {
return "", false, nil
}
return store.Get(ctx, key)
}
// sGetAndDelete safely calls store.GetAndDelete, treating a nil store as a miss.
func sGetAndDelete(ctx context.Context, store Store, key string) (string, bool, error) {
if store == nil {
-5
View File
@@ -41,11 +41,6 @@ func fnv1aResume(state uint32, str string) uint32 {
return h
}
// prng generates a hex string of specified length using a seed
func prng(seed string, length int) string {
return prngFromHash(fnv1a(seed), length)
}
// prngFromHash generates a hex string of specified length using an initial hash state
func prngFromHash(initialHash uint32, length int) string {
state := initialHash
+4 -8
View File
@@ -58,16 +58,12 @@ func Request(ctx context.Context, method, url string, body io.Reader, headers, c
return nil, fmt.Errorf(errCreateHTTPRequestFailed, err)
}
if cookies != nil {
for key, value := range cookies {
req.AddCookie(&http.Cookie{Name: key, Value: value})
}
for key, value := range cookies {
req.AddCookie(&http.Cookie{Name: key, Value: value})
}
if headers != nil {
for key, value := range headers {
req.Header.Set(key, value)
}
for key, value := range headers {
req.Header.Set(key, value)
}
resp, err := httpClient.Do(req)
+8 -8
View File
@@ -71,14 +71,14 @@ func SendMailHTML(cfg Config, to string, subject, body string) error {
if err != nil {
return fmt.Errorf(errDialTLSFailed, err)
}
defer conn.Close()
defer func() { _ = conn.Close() }()
_ = conn.SetDeadline(time.Now().Add(10 * time.Second))
client, err := smtp.NewClient(conn, cfg.Host)
if err != nil {
return fmt.Errorf(errSMTPClientCreationFailed, err)
}
defer client.Close()
defer func() { _ = client.Close() }()
if err = client.Auth(auth); err != nil {
return fmt.Errorf(errSMTPAuthFailed, err)
@@ -96,7 +96,7 @@ func SendMailHTML(cfg Config, to string, subject, body string) error {
if err != nil {
return fmt.Errorf(errSMTPDataCommandFailed, err)
}
defer w.Close()
defer func() { _ = w.Close() }()
_, err = w.Write([]byte(message))
if err != nil {
@@ -119,7 +119,7 @@ func SendMailHTML(cfg Config, to string, subject, body string) error {
func SendMailWithLog(cfg Config, to string, subject, body string) (string, error) {
var logBuf bytes.Buffer
logLine := func(dir string, format string, args ...interface{}) {
logBuf.WriteString(fmt.Sprintf("[%s] %s\n", dir, fmt.Sprintf(format, args...)))
fmt.Fprintf(&logBuf, "[%s] %s\n", dir, fmt.Sprintf(format, args...))
}
addr := net.JoinHostPort(cfg.Host, strconv.Itoa(cfg.Port))
@@ -141,7 +141,7 @@ func SendMailWithLog(cfg Config, to string, subject, body string) (string, error
logLine("Error", "Connection failed: %v", err)
return logBuf.String(), err
}
defer conn.Close()
defer func() { _ = conn.Close() }()
logLine("System", "Connected successfully.")
// Set a 10-second session deadline for read/write operations
@@ -152,7 +152,7 @@ func SendMailWithLog(cfg Config, to string, subject, body string) (string, error
logLine("Error", "SMTP client handshake failed: %v", err)
return logBuf.String(), err
}
defer client.Close()
defer func() { _ = client.Close() }()
// If not 465, support STARTTLS if available
if cfg.Port != 465 {
@@ -222,11 +222,11 @@ func SendMailWithLog(cfg Config, to string, subject, body string) (string, error
logLine("System", "Sending message body...")
if _, err = w.Write([]byte(message)); err != nil {
w.Close()
_ = w.Close()
logLine("Error", "Writing message body failed: %v", err)
return logBuf.String(), err
}
w.Close()
_ = w.Close()
logLine("S", "250 OK")
logLine("C", "QUIT")
+2 -2
View File
@@ -30,7 +30,7 @@ func TestSendMailMock(t *testing.T) {
if err != nil {
t.Fatalf("failed to start mock smtp server: %v", err)
}
defer l.Close()
defer func() { _ = l.Close() }()
port := l.Addr().(*net.TCPAddr).Port
@@ -39,7 +39,7 @@ func TestSendMailMock(t *testing.T) {
if err != nil {
return
}
defer conn.Close()
defer func() { _ = conn.Close() }()
writer := bufio.NewWriter(conn)
reader := bufio.NewReader(conn)