1package main
2
3import (
4 "encoding/json"
5 "log"
6 "net/http"
7
8 "github.com/charmbracelet/fur/internal/providers"
9)
10
11func providersHandler(w http.ResponseWriter, r *http.Request) {
12 if r.Method != http.MethodGet {
13 http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
14 return
15 }
16
17 allProviders := providers.GetAll()
18
19 w.Header().Set("Content-Type", "application/json")
20 if err := json.NewEncoder(w).Encode(allProviders); err != nil {
21 http.Error(w, "Internal server error", http.StatusInternalServerError)
22 return
23 }
24}
25
26func main() {
27 http.HandleFunc("/providers", providersHandler)
28
29 log.Println("Server starting on :8080")
30 if err := http.ListenAndServe(":8080", nil); err != nil {
31 log.Fatal("Server failed to start:", err)
32 }
33}
34