Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "log"
- "net/http"
- "database/sql"
- _ "github.com/lib/pq"
- )
- const (
- host = "127.0.0.1"
- port = 5432
- user = "test"
- password = "pw"
- dbname = "Test"
- )
- var db *sql.DB
- type User struct {
- USER_ID string
- USER_NAME string
- }
- func handleRequests() {
- http.HandleFunc("/", index)
- http.HandleFunc("/getuser", Getuser)
- }
- func index(w http.ResponseWriter, r *http.Request){
- rows, err := db.Query(`SELECT "USER_ID","USER_NAME" FROM users`)
- if err != nil {
- http.Error(w, http.StatusText(500), 500)
- return
- }
- defer rows.Close()
- for rows.Next() {
- user := User{}
- err := rows.Scan(&user.USER_ID, &user.USER_NAME)
- if err != nil {
- http.Error(w, http.StatusText(500), 500
- }
- fmt.Fprintf(w, "%s, %sn", user.USER_ID, user.USER_NAME)
- }
- }
- func Getuser(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintf(w, "Getuser") // <-------------------------this works!
- }
- func main() {
- handleRequests()
- psqlInfo := fmt.Sprintf("host=%s port=%d user=%s "+
- "password=%s dbname=%s sslmode=require",
- host, port, user, password, dbname)
- db, err := sql.Open("postgres", psqlInfo)
- if err != nil {
- log.Fatalln(err)
- }
- if err != nil {
- panic(err)
- }
- defer db.Close()
- err = db.Ping()
- if err != nil {
- panic(err)
- }
- log.Fatal(http.ListenAndServe(":8080", nil))
- }
Add Comment
Please, Sign In to add comment