-func init() {
- // MakeArvadosClient returns an error if this env var isn't
- // available as a default token (even if we explicitly set a
- // different token before doing anything with the client). We
- // set this dummy value during init so it doesn't clobber the
- // one used by "run test servers".
- if os.Getenv("ARVADOS_API_TOKEN") == "" {
- os.Setenv("ARVADOS_API_TOKEN", "xxx")
- }
-
- log.SetFormatter(&log.JSONFormatter{
- TimestampFormat: "2006-01-02T15:04:05.000000000Z07:00",
- })
-}
-
-func configure(logger log.FieldLogger, args []string) *Config {
- flags := flag.NewFlagSet(args[0], flag.ExitOnError)
-
- loader := config.NewLoader(os.Stdin, logger)
- loader.SetupFlags(flags)
-
- dumpConfig := flags.Bool("dump-config", false,
- "write current configuration to stdout and exit")
- getVersion := flags.Bool("version", false,
- "print version information and exit.")
-
- args = loader.MungeLegacyConfigArgs(logger, args[1:], "-legacy-keepweb-config")
- flags.Parse(args)
-
- // Print version information if requested
- if *getVersion {
- fmt.Printf("keep-web %s\n", version)
- return nil
- }
-
- arvCfg, err := loader.Load()
+func newHandlerOrErrorHandler(ctx context.Context, cluster *arvados.Cluster, token string, reg *prometheus.Registry) service.Handler {
+ h, err := newHandler(ctx, cluster, token, reg)