Guest User

Untitled

a guest
Mar 23rd, 2018
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "log"
  6. "net/http"
  7. "database/sql"
  8. _ "github.com/lib/pq"
  9. )
  10.  
  11. const (
  12. host = "127.0.0.1"
  13. port = 5432
  14. user = "test"
  15. password = "pw"
  16. dbname = "Test"
  17. )
  18.  
  19. var db *sql.DB
  20.  
  21. type User struct {
  22. USER_ID string
  23. USER_NAME string
  24. }
  25.  
  26. func handleRequests() {
  27. http.HandleFunc("/", index)
  28. http.HandleFunc("/getuser", Getuser)
  29. }
  30.  
  31. func index(w http.ResponseWriter, r *http.Request){
  32. rows, err := db.Query(`SELECT "USER_ID","USER_NAME" FROM users`)
  33. if err != nil {
  34. http.Error(w, http.StatusText(500), 500)
  35. return
  36. }
  37. defer rows.Close()
  38.  
  39. for rows.Next() {
  40. user := User{}
  41. err := rows.Scan(&user.USER_ID, &user.USER_NAME)
  42. if err != nil {
  43. http.Error(w, http.StatusText(500), 500
  44. }
  45. fmt.Fprintf(w, "%s, %sn", user.USER_ID, user.USER_NAME)
  46. }
  47.  
  48. }
  49.  
  50. func Getuser(w http.ResponseWriter, r *http.Request) {
  51. fmt.Fprintf(w, "Getuser") // <-------------------------this works!
  52. }
  53.  
  54. func main() {
  55. handleRequests()
  56.  
  57. psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+
  58. "password=%s dbname=%s sslmode=require",
  59. host, port, user, password, dbname)
  60.  
  61. db, err := sql.Open("postgres", psqlInfo)
  62. if err != nil {
  63. log.Fatalln(err)
  64. }
  65.  
  66. if err != nil {
  67. panic(err)
  68. }
  69. defer db.Close()
  70.  
  71. err = db.Ping()
  72. if err != nil {
  73. panic(err)
  74. }
  75.  
  76. log.Fatal(http.ListenAndServe(":8080", nil))
  77. }
Add Comment
Please, Sign In to add comment