38 lines
641 B
Go
38 lines
641 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"log"
|
|
"net/http"
|
|
|
|
"github.com/jmoiron/sqlx"
|
|
|
|
_ "github.com/mattn/go-sqlite3"
|
|
)
|
|
|
|
var (
|
|
addr = flag.String("addr", ":5000", "http server address")
|
|
)
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
|
|
db, err := sqlx.Connect("sqlite3", "./sqlite.db")
|
|
if err != nil {
|
|
log.Fatalf("failed to connect to db: %v\n", err)
|
|
}
|
|
defer db.Close()
|
|
|
|
if err := db.Ping(); err != nil {
|
|
log.Fatalf("failed to ping db: %v\n", err)
|
|
}
|
|
|
|
mux := http.NewServeMux()
|
|
|
|
fmt.Printf("starting http server at %s\n", *addr)
|
|
if err := http.ListenAndServe(*addr, mux); err != nil {
|
|
log.Fatalf("failed to start http server: %v\n", err)
|
|
}
|
|
}
|