(s *Service)
| 157 | } |
| 158 | |
| 159 | func LoggingStreamInterceptor(s *Service) grpc.StreamServerInterceptor { |
| 160 | return func( |
| 161 | srv interface{}, |
| 162 | ss grpc.ServerStream, |
| 163 | info *grpc.StreamServerInfo, |
| 164 | handler grpc.StreamHandler, |
| 165 | ) error { |
| 166 | clientIP := "unknown" |
| 167 | if p, ok := peer.FromContext(ss.Context()); ok { |
| 168 | clientIP = p.Addr.String() |
| 169 | } |
| 170 | log.Printf("Trying To Open Stream Connection, IP: %s, Method: %s,", clientIP, strings.TrimPrefix(info.FullMethod, "/service.NodeService/")) |
| 171 | |
| 172 | // Handle the request |
| 173 | err := handler(srv, ss) |
| 174 | |
| 175 | // Log the request |
| 176 | logRequest(ss.Context(), info.FullMethod, err) |
| 177 | |
| 178 | // Track successful requests |
| 179 | if err == nil { |
| 180 | s.NewRequest() |
| 181 | } |
| 182 | |
| 183 | return err |
| 184 | } |
| 185 | } |
| 186 | |
| 187 | var backendMethods = map[string]bool{ |
| 188 | "/service.NodeService/GetStats": true, |
no test coverage detected