summaryrefslogtreecommitdiff
path: root/internal/server/handlers/basehandler.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/server/handlers/basehandler.go')
-rw-r--r--internal/server/handlers/basehandler.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/internal/server/handlers/basehandler.go b/internal/server/handlers/basehandler.go
index 7daf071..f23c9e5 100644
--- a/internal/server/handlers/basehandler.go
+++ b/internal/server/handlers/basehandler.go
@@ -107,9 +107,12 @@ func (h *baseHandler) Read(p []byte) (n int, err error) {
h.readBuf.WriteString(protocol.FieldDelimiter)
h.readBuf.WriteString(line.SourceID)
h.readBuf.WriteString(protocol.FieldDelimiter)
+ h.readBuf.WriteString(line.Content.String())
+ h.readBuf.WriteByte(protocol.MessageDelimiter)
+ } else {
+ // In plain mode, preserve exact line content including line endings
+ h.readBuf.WriteString(line.Content.String())
}
- h.readBuf.WriteString(line.Content.String())
- h.readBuf.WriteByte(protocol.MessageDelimiter)
n = copy(p, h.readBuf.Bytes())
pool.RecycleBytesBuffer(line.Content)
line.Recycle()