diff --git a/gopoc/Makefile b/gopoc/Makefile new file mode 100644 index 0000000..7747f5f --- /dev/null +++ b/gopoc/Makefile @@ -0,0 +1,2 @@ +gopoc: kapow.go + CGO_ENABLED=0 go build diff --git a/gopoc/gopoc b/gopoc/gopoc new file mode 100755 index 0000000..3fb42e6 Binary files /dev/null and b/gopoc/gopoc differ diff --git a/gopoc/kapow.go b/gopoc/kapow.go new file mode 100644 index 0000000..d86ed92 --- /dev/null +++ b/gopoc/kapow.go @@ -0,0 +1,35 @@ +package main + +import ( + "net/http" + "fmt" + "os/exec" +) + +func main() { + go func() { + fmt.Println("Listening on port 8080") + http.ListenAndServe(":8080", &userServerHandler{}) + }() + + http.ListenAndServe(":8081", &controlApiHandler{}) +} + +type userServerHandler struct { +} + +func (m *userServerHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { + out, err := exec.Command("date").Output() + if err != nil { + w.WriteHeader(http.StatusInternalServerError) + } else { + w.Write(out) + } +} + +type controlApiHandler struct { +} + +func (m *controlApiHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("Welcome to the control API!")) +}