func main() { flag.Parse() c, err := shanhu.LoadConfig(*config) ne(err) var s *shanhu.Storage if c.MysqlDB != "" { s, err = mysql.Shanhu(c) ne(err) } else { s, err = sqlite.Shanhu(c) ne(err) } h, err := shanhu.NewServer(c, s) ne(err) http.Handle("/", h) log.Printf("server at %s", *addr) err = http.ListenAndServe(*addr, nil) ne(err) }
func makeStorage(c *shanhu.Config) (*shanhu.Storage, error) { if c.MysqlDB == "" { return sqlite.Shanhu(c) } return mysql.Shanhu(c) }