itslog/main.go

39 lines
746 B
Go
Raw Normal View History

2013-12-20 23:04:33 -08:00
package main
import (
2013-12-20 23:35:24 -08:00
"flag"
2013-12-20 23:11:01 -08:00
"fmt"
2013-12-21 00:26:54 -08:00
"github.com/jmoiron/sqlx"
2013-12-20 23:04:33 -08:00
"github.com/kelseyhightower/envconfig"
2013-12-21 00:26:54 -08:00
_ "github.com/lib/pq"
2013-12-20 23:04:33 -08:00
"log"
2013-12-20 23:11:01 -08:00
"net/http"
2013-12-20 23:04:33 -08:00
)
2013-12-20 23:35:24 -08:00
var verbose = flag.Bool("verbose", false, "increase logging verbosity")
2013-12-21 00:26:54 -08:00
var db *sqlx.DB
2013-12-20 23:04:33 -08:00
func main() {
2013-12-20 23:35:24 -08:00
flag.Parse()
2013-12-20 23:04:33 -08:00
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
config := NewConfig()
err := envconfig.Process("ITSLOG", config)
if err != nil {
log.Fatal(err)
}
if err := config.validate(); err != nil {
log.Fatal(err)
}
2013-12-21 00:26:54 -08:00
log.Printf("config: %#v", config)
dbSetup(config)
2013-12-20 23:11:01 -08:00
http.Handle("/api/v0/info/", JsonHandler(apiInfo))
http.Handle("/api/v0/put/", JsonHandler(put))
2013-12-20 23:11:01 -08:00
err = http.ListenAndServe(fmt.Sprintf(":%d", config.Port), nil)
if err != nil {
log.Fatal(err)
}
2013-12-20 23:04:33 -08:00
}