43 lines
881 B
Go
43 lines
881 B
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"net/http"
|
|
"os"
|
|
|
|
"ridgwaysystems.org/gitea-pr-reviewer/internal/deepseek"
|
|
"ridgwaysystems.org/gitea-pr-reviewer/internal/gitea"
|
|
"ridgwaysystems.org/gitea-pr-reviewer/internal/webhook"
|
|
)
|
|
|
|
func main() {
|
|
port := getenv("PORT", "9000")
|
|
|
|
h := &webhook.Handler{
|
|
Gitea: gitea.New(mustenv("GITEA_URL"), mustenv("GITEA_TOKEN")),
|
|
DeepSeek: deepseek.New(mustenv("DEEPSEEK_API_KEY")),
|
|
WebhookSecret: os.Getenv("WEBHOOK_SECRET"),
|
|
}
|
|
|
|
mux := http.NewServeMux()
|
|
mux.Handle("POST /webhook", h)
|
|
|
|
log.Printf("gitea-pr-reviewer listening on :%s", port)
|
|
log.Fatal(http.ListenAndServe(":"+port, mux))
|
|
}
|
|
|
|
func getenv(key, def string) string {
|
|
if v := os.Getenv(key); v != "" {
|
|
return v
|
|
}
|
|
return def
|
|
}
|
|
|
|
func mustenv(key string) string {
|
|
v := os.Getenv(key)
|
|
if v == "" {
|
|
log.Fatalf("required env var %s is not set", key)
|
|
}
|
|
return v
|
|
}
|