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))
|
2013-12-20 23:37:17 -08:00
|
|
|
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
|
|
|
}
|