refactor(http2): 使用 textproto.CanonicalMIMEHeaderKey 替代手动实现
使用标准库 net/textproto 提供的规范化函数,确保 HTTP 头键 按照 RFC 7230 规范正确处理,包括 MIME 头的特殊大小写规则。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
392d0b3449
commit
909bccc1eb
@ -22,7 +22,7 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"net/textproto"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@ -577,10 +577,5 @@ func (p *connectionPool) closeAll() { //nolint:unused // reserved for future use
|
|||||||
|
|
||||||
// canonicalHeaderKey 返回规范化的 HTTP 头键。
|
// canonicalHeaderKey 返回规范化的 HTTP 头键。
|
||||||
func canonicalHeaderKey(key string) string {
|
func canonicalHeaderKey(key string) string {
|
||||||
// 使用 strings 包实现规范化
|
return textproto.CanonicalMIMEHeaderKey(key)
|
||||||
result := strings.ToLower(key)
|
|
||||||
if result == "" {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
return strings.ToUpper(result[:1]) + result[1:]
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user