hermes/backend/api/backendruntime/struct.go
greysoh 0b73b4aa47
feature: Adds backend system and basic API.
This adds the backend API, as well as backend infrastructure, including
autostarting and basic communication between the Goroutine + Application.
2024-12-23 15:52:16 -05:00

34 lines
624 B
Go

package backendruntime
import (
"net"
"os/exec"
"strings"
)
type Backend struct {
Name string `validate:"required"`
Path string `validate:"required"`
}
type Runtime struct {
isRuntimeRunning bool
logger *writeLogger
currentProcess *exec.Cmd
currentListener net.Listener
ProcessPath string
Logs []string
RuntimeCommands chan interface{}
}
type writeLogger struct {
Runtime *Runtime
}
func (writer writeLogger) Write(p []byte) (n int, err error) {
logSplit := strings.Split(string(p), "\n")
writer.Runtime.Logs = append(writer.Runtime.Logs, logSplit...)
return len(p), err
}