main.go 1007 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package main
  2. import (
  3. "database/sql"
  4. "fmt"
  5. "log"
  6. "net/http"
  7. "github.com/bmizerany/pat"
  8. _ "github.com/lib/pq"
  9. )
  10. func main() {
  11. fmt.Printf("hello, world\n")
  12. db, err := sql.Open("postgres", "user=sysvitals dbname=sysvitals host=/var/run/postgresql")
  13. if err != nil {
  14. log.Fatal(err)
  15. }
  16. rows, err := db.Query("SELECT * FROM user_groups")
  17. if err != nil {
  18. log.Fatal(err)
  19. }
  20. for rows.Next() {
  21. var userId, groupId int
  22. rows.Scan(&userId, &groupId)
  23. fmt.Printf("user: %d, group: %d\n", userId, groupId)
  24. }
  25. muxer := pat.New()
  26. muxer.Get("/", http.HandlerFunc(handleRoot))
  27. muxer.Get("/server/:server/raw", http.HandlerFunc(handleRaw))
  28. http.Handle("/", muxer)
  29. err = http.ListenAndServe(":8892", nil)
  30. log.Fatal(err)
  31. }
  32. func handleRoot(w http.ResponseWriter, req *http.Request) {
  33. fmt.Fprintf(w, "welcome to the sysvitals api")
  34. }
  35. func handleRaw(w http.ResponseWriter, req *http.Request) {
  36. params := req.URL.Query()
  37. server := params.Get(":server")
  38. fmt.Fprintf(w, "raw; server: %s", server)
  39. }