@@ -15,9 +15,11 @@ import (
1515)
1616
1717type middleware struct {
18- enabled bool
19- verbose bool
20- enabledOtherParameter bool
18+ enabled bool
19+ verbose bool
20+ enabledReferer bool
21+ enabledRemoteAddr bool
22+ enabledQuery bool
2123}
2224
2325type Option func (m * middleware )
@@ -36,10 +38,24 @@ func WithVerbose(on bool) Option {
3638 }
3739}
3840
39- // WithEnabledOtherParameter configures the middleware to log request Path, IP, Request header and Params .
40- func WithEnabledOtherParameter (on bool ) Option {
41+ // WithEnabledReferer configures the middleware to log request referer .
42+ func WithEnabledReferer (on bool ) Option {
4143 return func (m * middleware ) {
42- m .enabledOtherParameter = on
44+ m .enabledReferer = on
45+ }
46+ }
47+
48+ // WithEnabledRemoteAddr configures the middleware to log request address.
49+ func WithEnabledRemoteAddr (on bool ) Option {
50+ return func (m * middleware ) {
51+ m .enabledRemoteAddr = on
52+ }
53+ }
54+
55+ // WithEnabledQuery configures the middleware to log request query params.
56+ func WithEnabledQuery (on bool ) Option {
57+ return func (m * middleware ) {
58+ m .enabledQuery = on
4359 }
4460}
4561
@@ -48,7 +64,9 @@ func WithEnabledOtherParameter(on bool) Option {
4864// - BUNDEBUG=0 - disables the middleware.
4965// - BUNDEBUG=1 - enables the middleware.
5066// - BUNDEBUG=2 - enables the middleware and verbose mode.
51- // - BUNDEBUG=3 - enables the middleware and logs request headers , path, ip and params.
67+ // - BUNDEBUG=3 - enables the middleware and logs request referer.
68+ // - BUNDEBUG=4 - enables the middleware and logs request remote address.
69+ // - BUNDEBUG=5 - enables the middleware and logs request query params.
5270
5371func FromEnv (keys ... string ) Option {
5472 if len (keys ) == 0 {
@@ -59,7 +77,9 @@ func FromEnv(keys ...string) Option {
5977 if env , ok := os .LookupEnv (key ); ok {
6078 m .enabled = env != "" && env != "0"
6179 m .verbose = env == "2"
62- m .enabledOtherParameter = env == "3"
80+ m .enabledReferer = env == "3"
81+ m .enabledRemoteAddr = env == "4"
82+ m .enabledQuery = env == "5"
6383 break
6484 }
6585 }
@@ -68,9 +88,11 @@ func FromEnv(keys ...string) Option {
6888
6989func NewMiddleware (opts ... Option ) bunrouter.MiddlewareFunc {
7090 c := & middleware {
71- enabled : true ,
72- verbose : true ,
73- enabledOtherParameter : false ,
91+ enabled : true ,
92+ verbose : true ,
93+ enabledReferer : false ,
94+ enabledRemoteAddr : false ,
95+ enabledQuery : false ,
7496 }
7597 for _ , opt := range opts {
7698 opt (c )
@@ -111,8 +133,16 @@ func (m *middleware) Middleware(next bunrouter.HandlerFunc) bunrouter.HandlerFun
111133 formatMethod (req .Method ),
112134 )
113135
114- if m .enabledOtherParameter {
115- args = append (args , req .URL .String (), req .RemoteAddr )
136+ if m .enabledReferer {
137+ args = append (args , req .Header .Get ("Referer" ))
138+ }
139+
140+ if m .enabledRemoteAddr {
141+ args = append (args , req .URL .String ())
142+ }
143+
144+ if m .enabledQuery {
145+ args = append (args , req .URL .Query ())
116146 }
117147
118148 if err != nil {
@@ -124,12 +154,6 @@ func (m *middleware) Middleware(next bunrouter.HandlerFunc) bunrouter.HandlerFun
124154 }
125155
126156 fmt .Println (args ... )
127- if m .enabledOtherParameter {
128- fmt .Println ("User-Agent:" , req .Header .Get ("User-Agent" ))
129- fmt .Println ("Referer:" , req .Header .Get ("Referer" ))
130- fmt .Println ("Query Params:" , req .URL .Query ())
131- fmt .Println ("Body Params:" , req .PostForm )
132- }
133157
134158 return err
135159 }
0 commit comments