Skip to content

Commit a59449d

Browse files
committed
Simplifying cyclometric complexity
1 parent 99bcfdc commit a59449d

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

pkg/epp/handlers/streamingserver.go

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,8 @@ func (s *StreamingServer) Process(srv extProcPb.ExternalProcessor_ProcessServer)
9999
logger.V(logutil.DEFAULT).Error(err, "Error populating writer")
100100
}
101101
}()
102+
103+
// Message is buffered, we can read and decode.
102104
if v.RequestBody.EndOfStream {
103105
loggerVerbose.Info("decoding")
104106
err = decoder.Decode(&requestBody)
@@ -109,8 +111,7 @@ func (s *StreamingServer) Process(srv extProcPb.ExternalProcessor_ProcessServer)
109111
reader.Close()
110112
reader, writer = io.Pipe()
111113
decoder = json.NewDecoder(reader)
112-
}
113-
if requestBody != nil {
114+
114115
reqCtx, err = s.HandleRequestBody(ctx, reqCtx, req, requestBody)
115116
if err != nil {
116117
logger.V(logutil.DEFAULT).Error(err, "Error handling body")
@@ -125,11 +126,9 @@ func (s *StreamingServer) Process(srv extProcPb.ExternalProcessor_ProcessServer)
125126
case *extProcPb.ProcessingRequest_ResponseHeaders:
126127
loggerVerbose.Info("got response headers", "headers", v.ResponseHeaders.Headers.GetHeaders())
127128
for _, header := range v.ResponseHeaders.Headers.GetHeaders() {
128-
if header.Key == "status" {
129-
code := header.RawValue[0]
130-
if string(code) != "200" {
131-
reqCtx.ResponseStatusCode = errutil.ModelServerError
132-
}
129+
code := header.RawValue[0]
130+
if header.Key == "status" && string(code) != "200" {
131+
reqCtx.ResponseStatusCode = errutil.ModelServerError
133132
}
134133
}
135134
reqCtx.RequestState = ResponseRecieved
@@ -161,16 +160,15 @@ func (s *StreamingServer) Process(srv extProcPb.ExternalProcessor_ProcessServer)
161160
}
162161
}()
163162

163+
// Message is buffered, we can read and decode.
164164
if v.ResponseBody.EndOfStream {
165-
166165
err = decoder.Decode(&responseBody)
167166
if err != nil {
168167
logger.V(logutil.DEFAULT).Error(err, "Error unmarshaling request body")
169168
}
170169
// Body stream complete. Close the reader pipe.
171170
reader.Close()
172-
}
173-
if responseBody != nil {
171+
174172
reqCtx, err = s.HandleResponseBody(ctx, reqCtx, responseBody)
175173
if err == nil && reqCtx.ResponseComplete {
176174
reqCtx.ResponseCompleteTimestamp = time.Now()
@@ -190,13 +188,12 @@ func (s *StreamingServer) Process(srv extProcPb.ExternalProcessor_ProcessServer)
190188
resp, err := BuildErrResponse(err)
191189
if err != nil {
192190
return err
193-
} else {
194-
if err := srv.Send(resp); err != nil {
195-
logger.V(logutil.DEFAULT).Error(err, "Send failed")
196-
return status.Errorf(codes.Unknown, "failed to send response back to Envoy: %v", err)
197-
}
198-
return nil
199191
}
192+
if err := srv.Send(resp); err != nil {
193+
logger.V(logutil.DEFAULT).Error(err, "Send failed")
194+
return status.Errorf(codes.Unknown, "failed to send response back to Envoy: %v", err)
195+
}
196+
return nil
200197
}
201198
loggerVerbose.Info("checking", "request state", reqCtx.RequestState)
202199
if err := reqCtx.updateStateAndSendIfNeeded(srv, loggerVerbose); err != nil {

0 commit comments

Comments
 (0)