-
Notifications
You must be signed in to change notification settings - Fork 3
/
fields_http.go
100 lines (73 loc) · 2.77 KB
/
fields_http.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package log
import (
"go.uber.org/zap"
)
const (
// HTTPServerNameKey represents the name of the service handling the request
HTTPServerNameKey = "http_server_name"
// HTTPMethodKey represents the HTTP request method.
HTTPMethodKey = "http_method"
// HTTPTargetKey represents the full request target as passed in a HTTP
// request line or equivalent, e.g. "/path/12314/?q=ddds#123".
HTTPTargetKey = "http_target"
// HTTPHostKey represents the value of the HTTP host header.
HTTPHostKey = "http_host"
// HTTPStatusCodeKey represents the HTTP response status code.
HTTPStatusCodeKey = "http_status_code"
// HTTPUserAgentKey represents the Value of the HTTP User-Agent header sent by the client.
HTTPUserAgentKey = "http_user_agent"
// HTTPClientIPKey represents the IP address of the original client behind all proxies,
// if known (e.g. from X-Forwarded-For).
HTTPClientIPKey = "http_client_ip"
// HTTPRequestContentLengthKey represents the size of the request payload body in bytes.
HTTPRequestContentLengthKey = "http_read_bytes"
// HTTPWroteBytesKey represents the size of the response payload body in bytes.
HTTPWroteBytesKey = "http_wrote_bytes" // #nosec
// HTTPSchemeKey represents the URI scheme identifying the used protocol.
HTTPSchemeKey = "http_scheme"
// HTTPFlavorKey represents the Kind of HTTP protocol used.
HTTPFlavorKey = "http_flavor"
// HTTPRequestIDKey represents the HTTP request id if known (e.g from X-Request-ID).
HTTPRequestIDKey = "http_request_id"
// HTTPSessionIDKey represents the HTTP session id if known (e.g from X-Session-ID).
HTTPSessionIDKey = "http_session_id"
)
func FHTTPServerName(id string) zap.Field {
return zap.String(HTTPServerNameKey, id)
}
func FHTTPRequestID(id string) zap.Field {
return zap.String(HTTPRequestIDKey, id)
}
func FHTTPSessionID(id string) zap.Field {
return zap.String(HTTPSessionIDKey, id)
}
func FHTTPRequestContentLength(bytes int64) zap.Field {
return zap.Int64(HTTPRequestContentLengthKey, bytes)
}
func FHTTPWroteBytes(bytes int64) zap.Field {
return zap.Int64(HTTPWroteBytesKey, bytes)
}
func FHTTPStatusCode(status int) zap.Field {
return zap.Int(HTTPStatusCodeKey, status)
}
func FHTTPTarget(target string) zap.Field {
return zap.String(HTTPTargetKey, target)
}
func FHTTPClientIP(clientIP string) zap.Field {
return zap.String(HTTPClientIPKey, clientIP)
}
func FHTTPFlavor(flavor string) zap.Field {
return zap.String(HTTPFlavorKey, flavor)
}
func FHTTPScheme(scheme string) zap.Field {
return zap.String(HTTPSchemeKey, scheme)
}
func FHTTPUserAgent(userAgent string) zap.Field {
return zap.String(HTTPUserAgentKey, userAgent)
}
func FHTTPHost(host string) zap.Field {
return zap.String(HTTPHostKey, host)
}
func FHTTPMethod(name string) zap.Field {
return zap.String(HTTPMethodKey, name)
}