summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2021-09-18 14:41:25 +0300
committerPaul Buetow <paul@buetow.org>2021-10-02 12:26:29 +0300
commit6506e20f6c80f4acb7434eb9dd14f784a67189cd (patch)
tree1554831a5468729aa48c0baf3d5c9a78a8499288 /internal/server
parent7fbea88cf55af9b3354b4a1334e49c38d0d920fc (diff)
add spartan mode
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/handlers/serverhandler.go31
1 files changed, 21 insertions, 10 deletions
diff --git a/internal/server/handlers/serverhandler.go b/internal/server/handlers/serverhandler.go
index ed19412..2f3b73b 100644
--- a/internal/server/handlers/serverhandler.go
+++ b/internal/server/handlers/serverhandler.go
@@ -45,6 +45,7 @@ type ServerHandler struct {
ackCloseReceived chan struct{}
activeCommands int32
quiet bool
+ spartan bool
readBuf bytes.Buffer
writeBuf bytes.Buffer
}
@@ -118,16 +119,18 @@ func (h *ServerHandler) Read(p []byte) (n int, err error) {
n = copy(p, h.readBuf.Bytes())
case line := <-h.lines:
- h.readBuf.WriteString("REMOTE")
- h.readBuf.WriteString(protocol.FieldDelimiter)
- h.readBuf.WriteString(h.hostname)
- h.readBuf.WriteString(protocol.FieldDelimiter)
- h.readBuf.WriteString(fmt.Sprintf("%3d", line.TransmittedPerc))
- h.readBuf.WriteString(protocol.FieldDelimiter)
- h.readBuf.WriteString(fmt.Sprintf("%v", line.Count))
- h.readBuf.WriteString(protocol.FieldDelimiter)
- h.readBuf.WriteString(line.SourceID)
- h.readBuf.WriteString(protocol.FieldDelimiter)
+ if !h.spartan {
+ h.readBuf.WriteString("REMOTE")
+ h.readBuf.WriteString(protocol.FieldDelimiter)
+ h.readBuf.WriteString(h.hostname)
+ h.readBuf.WriteString(protocol.FieldDelimiter)
+ h.readBuf.WriteString(fmt.Sprintf("%3d", line.TransmittedPerc))
+ h.readBuf.WriteString(protocol.FieldDelimiter)
+ h.readBuf.WriteString(fmt.Sprintf("%v", line.Count))
+ 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)
n = copy(p, h.readBuf.Bytes())
@@ -275,6 +278,12 @@ func (h *ServerHandler) handleUserCommand(ctx context.Context, argc int, args []
h.quiet = true
}
}
+ if spartan, ok := options["spartan"]; ok {
+ if spartan == "true" {
+ logger.Debug(h.user, "Enabling spartan mode")
+ h.spartan = true
+ }
+ }
switch commandName {
case "grep", "cat":
@@ -397,6 +406,7 @@ func (h *ServerHandler) decrementActiveCommands() int32 {
}
func readOptions(opts []string) (map[string]string, error) {
+ logger.Debug("Parsing options", opts)
options := make(map[string]string, len(opts))
for _, o := range opts {
@@ -416,6 +426,7 @@ func readOptions(opts []string) (map[string]string, error) {
val = string(decoded)
}
+ logger.Debug("Setting option", key, val)
options[key] = val
}