Skip to content

Instantly share code, notes, and snippets.

@alvincrespo
Created April 26, 2015 20:18
Show Gist options
  • Save alvincrespo/6499935e006b3aaf8b6c to your computer and use it in GitHub Desktop.
Save alvincrespo/6499935e006b3aaf8b6c to your computer and use it in GitHub Desktop.
Boogers
package controllers
import (
"encoding/json"
"fmt"
"log"
"net/http"
"time"
"todos/models"
"database/sql"
_ "github.com/lib/pq"
"github.com/gorilla/mux"
)
func TodoIndex(w http.ResponseWriter, r *http.Request) {
db, err := sql.Open("postgres", "host=localhost dbname=todosdb sslmode=disable")
// Connection error check
if err != nil {
log.Fatal(err)
}
rows, err := db.Query("select * from test")
// If the query failed for some reason, let us know
if err != nil {
log.Fatal(err)
}
defer rows.Close()
for rows.Next() {
var gopher_id int64
var created time.Time
if err := rows.Scan(&gopher_id, &created); err != nil {
log.Fatal(err)
}
fmt.Printf("%s is %d\n", gopher_id, created)
}
if err := rows.Err(); err != nil {
log.Fatal(err)
}
todos := models.Todos{
models.Todo{Name: "Write presentation"},
models.Todo{Name: "Host meetup"},
}
if err := json.NewEncoder(w).Encode(todos); err != nil {
panic(err)
}
}
func TodoShow(w http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r)
todoId := vars["todoId"]
fmt.Fprintln(w, "Todo show:", todoId)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment