package main import ( "encoding/json" "fmt" "net/http" "git.robbyzambito.me/taskflow/internal/api" ) // Example: // curl 'http://localhost:8080/api/v1/auth/login' -X POST -H 'Content-Type: application/json' --data-raw $'{}}\n{"king": "key"' func main() { var logs [api.LogLength]string n := 0 king := "NOKING" logChan := make(chan string) go parser(logChan, &king) http.HandleFunc("/", api.CreateFilesHandler(&logs, &n, logChan)) http.HandleFunc("/logs", api.CreateGetLogs(&logs)) http.HandleFunc("/api/v1/auth/login", api.CreateLoginHandler(&logs, &n, logChan)) http.HandleFunc("/api/v1/king", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, king) }) http.HandleFunc("/api/v1/status", api.StatusHandler) http.HandleFunc("/api/v1/status/services", api.StatusServicesHandler) http.HandleFunc("/api/v1/status/metrics", api.StatusMetricsHandler) http.HandleFunc("/api/v1/status/incidents", api.StatusIncidentsHandler) http.HandleFunc("/api/v1/status/maintenance", api.StatusMaintenanceHandler) http.HandleFunc("/api/v1/status/uptime", api.StatusUptimeHandler) http.HandleFunc("/api/v1/status/subscribe", api.StatusSubscribeHandler) http.HandleFunc("/api/v1/contact", api.ContactHandler) // Start the server on port 8080 fmt.Println("Server is listening on port 8080...") err := http.ListenAndServe(":8080", nil) if err != nil { fmt.Printf("Error starting server: %s\n", err) } } func parser(input chan string, king *string) { for value := range input { var data map[string]any if json.Unmarshal([]byte(value), &data) == nil { if k, ok := data["king"].(string); ok { *king = k } } } }