MCPcopy Create free account
hub / github.com/GoEdgeLab/EdgeNode / ToValidUTF8

Method ToValidUTF8

internal/nodes/http_access_log_queue.go:144–194  ·  view source on GitHub ↗

ToValidUTF8 处理访问日志中的非UTF-8字节

(accessLog *pb.HTTPAccessLog)

Source from the content-addressed store, hash-verified

142
143// ToValidUTF8 处理访问日志中的非UTF-8字节
144func (this *HTTPAccessLogQueue) ToValidUTF8(accessLog *pb.HTTPAccessLog) {
145 accessLog.RemoteAddr = utils.ToValidUTF8string(accessLog.RemoteAddr)
146 accessLog.RemoteUser = utils.ToValidUTF8string(accessLog.RemoteUser)
147 accessLog.RequestURI = utils.ToValidUTF8string(accessLog.RequestURI)
148 accessLog.RequestPath = utils.ToValidUTF8string(accessLog.RequestPath)
149 accessLog.RequestFilename = utils.ToValidUTF8string(accessLog.RequestFilename)
150 accessLog.RequestBody = bytes.ToValidUTF8(accessLog.RequestBody, []byte{})
151 accessLog.Host = utils.ToValidUTF8string(accessLog.Host)
152 accessLog.Hostname = utils.ToValidUTF8string(accessLog.Hostname)
153
154 for k, v := range accessLog.SentHeader {
155 if !utf8.ValidString(k) {
156 delete(accessLog.SentHeader, k)
157 continue
158 }
159
160 for index, s := range v.Values {
161 v.Values[index] = utils.ToValidUTF8string(s)
162 }
163 }
164
165 accessLog.Referer = utils.ToValidUTF8string(accessLog.Referer)
166 accessLog.UserAgent = utils.ToValidUTF8string(accessLog.UserAgent)
167 accessLog.Request = utils.ToValidUTF8string(accessLog.Request)
168 accessLog.ContentType = utils.ToValidUTF8string(accessLog.ContentType)
169
170 for k, c := range accessLog.Cookie {
171 if !utf8.ValidString(k) {
172 delete(accessLog.Cookie, k)
173 continue
174 }
175 accessLog.Cookie[k] = utils.ToValidUTF8string(c)
176 }
177
178 accessLog.Args = utils.ToValidUTF8string(accessLog.Args)
179 accessLog.QueryString = utils.ToValidUTF8string(accessLog.QueryString)
180
181 for k, v := range accessLog.Header {
182 if !utf8.ValidString(k) {
183 delete(accessLog.Header, k)
184 continue
185 }
186 for index, s := range v.Values {
187 v.Values[index] = utils.ToValidUTF8string(s)
188 }
189 }
190
191 for k, v := range accessLog.Errors {
192 accessLog.Errors[k] = utils.ToValidUTF8string(v)
193 }
194}

Calls 1

ToValidUTF8stringFunction · 0.92