package handlers import ( "net/http" "github.com/go-chi/chi" ) // HandleWebhook handles incoming webhook requests func (h *Handlers) HandleWebhook() http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { // Get webhook UUID from URL webhookUUID := chi.URLParam(r, "uuid") if webhookUUID == "" { http.NotFound(w, r) return } // Log the incoming webhook request h.log.Info("webhook request received", "uuid", webhookUUID, "method", r.Method, "remote_addr", r.RemoteAddr, "user_agent", r.UserAgent(), ) // Only POST methods are allowed for webhooks if r.Method != http.MethodPost { w.Header().Set("Allow", "POST") http.Error(w, "Method not allowed", http.StatusMethodNotAllowed) return } // TODO: Implement webhook handling logic // For now, return "unimplemented" for all webhook POST requests w.WriteHeader(http.StatusNotFound) _, err := w.Write([]byte("unimplemented")) if err != nil { h.log.Error("failed to write response", "error", err) } } }