|
@@ -37,6 +37,7 @@ const (
|
|
|
|
|
|
var (
|
|
var (
|
|
stmts = make(chan *sql.Stmt, MAX_CON)
|
|
stmts = make(chan *sql.Stmt, MAX_CON)
|
|
|
|
+ fortuneDB *sql.DB
|
|
)
|
|
)
|
|
|
|
|
|
func jsonHandler(w http.ResponseWriter, r *http.Request) {
|
|
func jsonHandler(w http.ResponseWriter, r *http.Request) {
|
|
@@ -71,7 +72,7 @@ func fortuneHandler(w http.ResponseWriter, r *http.Request) {
|
|
fortunes := make([]Fortune, 13)
|
|
fortunes := make([]Fortune, 13)
|
|
|
|
|
|
// Execute the query
|
|
// Execute the query
|
|
- rows, err := db.Query(DB_FORTUNE_SELECT_SQL)
|
|
|
|
|
|
+ rows, err := fortuneDB.Query(DB_FORTUNE_SELECT_SQL)
|
|
if err != nil {
|
|
if err != nil {
|
|
log.Fatalf("Error preparing statement: %s", err)
|
|
log.Fatalf("Error preparing statement: %s", err)
|
|
}
|
|
}
|
|
@@ -102,9 +103,13 @@ type ByMessage struct{ Fortunes }
|
|
func (s ByMessage) Less(i, j int) bool { return s.Fortunes[i].Message < s.Fortunes[j].Message }
|
|
func (s ByMessage) Less(i, j int) bool { return s.Fortunes[i].Message < s.Fortunes[j].Message }
|
|
|
|
|
|
func main() {
|
|
func main() {
|
|
|
|
+ var err error
|
|
|
|
+ if fortuneDB, err = sql.Open("mysql", DB_CONN_STR); err != nil {
|
|
|
|
+ log.Fatalf("Error opening database: %s", err)
|
|
|
|
+ }
|
|
http.HandleFunc("/db", dbHandler)
|
|
http.HandleFunc("/db", dbHandler)
|
|
http.HandleFunc("/json", jsonHandler)
|
|
http.HandleFunc("/json", jsonHandler)
|
|
- http.HandleFunc("/fortune", fortuneHandler)
|
|
|
|
|
|
+ http.HandleFunc("/fortune", fortuneHandler)
|
|
http.ListenAndServe(":8080", nil)
|
|
http.ListenAndServe(":8080", nil)
|
|
}
|
|
}
|
|
|
|
|