From fe9cf091fca5d757c46e61405c93ee721e66b715 Mon Sep 17 00:00:00 2001 From: Alex Grintsvayg Date: Mon, 20 Aug 2018 11:51:00 -0400 Subject: [PATCH] send the expected response instead of the error message --- reflector/server.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/reflector/server.go b/reflector/server.go index b96c0da..7510146 100644 --- a/reflector/server.go +++ b/reflector/server.go @@ -150,11 +150,12 @@ func (s *Server) doError(conn net.Conn, err error) error { if e2, ok := err.(*json.SyntaxError); ok { log.Errorf("syntax error at byte offset %d", e2.Offset) } - resp, err := json.Marshal(errorResponse{Error: err.Error()}) - if err != nil { - return err - } - return s.write(conn, resp) + //resp, err := json.Marshal(errorResponse{Error: err.Error()}) + //if err != nil { + // return err + //} + //return s.write(conn, resp) + return nil } func (s *Server) receiveBlob(conn net.Conn) error { @@ -196,11 +197,19 @@ func (s *Server) receiveBlob(conn net.Conn) error { blob, err := s.readRawBlob(conn, blobSize) if err != nil { + sendErr := s.sendTransferResponse(conn, false, isSdBlob) + if sendErr != nil { + return sendErr + } return errors.Prefix("error reading blob "+blobHash[:8], err) } receivedBlobHash := BlobHash(blob) if blobHash != receivedBlobHash { + sendErr := s.sendTransferResponse(conn, false, isSdBlob) + if sendErr != nil { + return sendErr + } return errors.Err("hash of received blob data does not match hash from send request") // this can also happen if the blob size is wrong, because the server will read the wrong number of bytes from the stream }