6802a432d7
Co-authored-by: Cursor <cursoragent@cursor.com>
37 lines
810 B
Go
37 lines
810 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"net/http"
|
|
"os"
|
|
|
|
"github.com/longbin/agent-notify/internal/server"
|
|
)
|
|
|
|
func cmdServer(args []string) error {
|
|
fs := flag.NewFlagSet("server", flag.ExitOnError)
|
|
listen := fs.String("listen", ":8080", "listen address")
|
|
db := fs.String("db", "./agent-notify.db", "SQLite database path")
|
|
token := fs.String("token", "", "API bearer token")
|
|
_ = fs.Parse(args)
|
|
|
|
tok := *token
|
|
if tok == "" {
|
|
tok = os.Getenv("AGENT_NOTIFY_TOKEN")
|
|
}
|
|
if tok == "" {
|
|
return fmt.Errorf("--token or AGENT_NOTIFY_TOKEN is required")
|
|
}
|
|
|
|
store, err := server.Open(*db)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer store.Close()
|
|
|
|
handler := server.NewHandler(store, tok)
|
|
fmt.Fprintf(os.Stderr, "agent-notify server listening on %s\n", *listen)
|
|
return http.ListenAndServe(*listen, handler)
|
|
}
|