@@ -40,7 +40,6 @@ func validateApiKey(ctx context.Context, s *Service) error {
4040 return status .Errorf (codes .PermissionDenied , "api key mismatch" )
4141 }
4242
43- s .NewRequest ()
4443 return nil
4544}
4645
@@ -135,22 +134,29 @@ func logRequest(ctx context.Context, method string, err error) {
135134 }
136135}
137136
138- func LoggingInterceptor (
139- ctx context.Context ,
140- req interface {},
141- info * grpc.UnaryServerInfo ,
142- handler grpc.UnaryHandler ,
143- ) (interface {}, error ) {
144- // Handle the request
145- resp , err := handler (ctx , req )
137+ func LoggingInterceptor (s * Service ) grpc.UnaryServerInterceptor {
138+ return func (
139+ ctx context.Context ,
140+ req interface {},
141+ info * grpc.UnaryServerInfo ,
142+ handler grpc.UnaryHandler ,
143+ ) (interface {}, error ) {
144+ // Handle the request
145+ resp , err := handler (ctx , req )
146146
147- // Log the request
148- logRequest (ctx , info .FullMethod , err )
147+ // Log the request
148+ logRequest (ctx , info .FullMethod , err )
149+
150+ // Track successful requests
151+ if err == nil {
152+ s .NewRequest ()
153+ }
149154
150- return resp , err
155+ return resp , err
156+ }
151157}
152158
153- func LoggingStreamInterceptor () grpc.StreamServerInterceptor {
159+ func LoggingStreamInterceptor (s * Service ) grpc.StreamServerInterceptor {
154160 return func (
155161 srv interface {},
156162 ss grpc.ServerStream ,
@@ -169,6 +175,11 @@ func LoggingStreamInterceptor() grpc.StreamServerInterceptor {
169175 // Log the request
170176 logRequest (ss .Context (), info .FullMethod , err )
171177
178+ // Track successful requests
179+ if err == nil {
180+ s .NewRequest ()
181+ }
182+
172183 return err
173184 }
174185}
@@ -194,7 +205,7 @@ func ConditionalMiddleware(s *Service) grpc.UnaryServerInterceptor {
194205 ) (interface {}, error ) {
195206 var interceptors []grpc.UnaryServerInterceptor
196207
197- interceptors = append (interceptors , LoggingInterceptor )
208+ interceptors = append (interceptors , LoggingInterceptor ( s ) )
198209
199210 interceptors = append (interceptors , validateApiKeyMiddleware (s ))
200211
@@ -216,7 +227,7 @@ func ConditionalStreamMiddleware(s *Service) grpc.StreamServerInterceptor {
216227 ) error {
217228 var interceptors []grpc.StreamServerInterceptor
218229
219- interceptors = append (interceptors , LoggingStreamInterceptor ())
230+ interceptors = append (interceptors , LoggingStreamInterceptor (s ))
220231
221232 interceptors = append (interceptors , validateApiKeyStreamMiddleware (s ))
222233
0 commit comments