func main() { flagData := flag.String("data", "data", "The location to use for the data store") flagAddr := flag.String("addr", ":8067", "The address that the HTTP server will bind") flag.Parse() ctx, err := context.Open(*flagData) if err != nil { log.Panic(err) } defer ctx.Close() log.Panic(web.ListenAndServe(*flagAddr, getVersion(), ctx)) }
func newEnv() (*env, error) { dir, err := ioutil.TempDir("", "") if err != nil { return nil, err } ctx, err := context.Open(filepath.Join(dir, "data")) if err != nil { os.RemoveAll(dir) return nil, err } return &env{ mux: allRoutes(ctx, ""), dir: dir, ctx: ctx, }, nil }