package main import ( "encoding/json" "fmt" "net/http" "time" "git.robbyzambito.me/snorvik/internal/api" ) // Example: // curl 'http://localhost:8080/api/v1/auth/login' -X POST -H 'Content-Type: application/json' --data-raw $'{}}\n{"king": "key"' const log_length = 100 type loginAttemptLog struct { Email string `json:"email"` Password string `json:"password"` LoginTime time.Time `json:"loginTime"` Success bool `json:"success"` RememberMe bool `json:"rememberMe"` } func main() { var logs [log_length]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) }) // 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 } } } }