code: func FromJSONConfig(config jsonconfig.Obj, prefix, serverBaseURL string) (HandlerConfig, error) {
  	hc := HandlerConfig{
  		Program:       config.RequiredString("program"),
  		Prefix:        config.OptionalString("prefix", prefix),
  		BackendURL:    config.OptionalString("backendURL", ""),
  		Listen:        config.OptionalString("listen", ""),
  		APIHost:       config.OptionalString("apiHost", ""),
  		ServerListen:  config.OptionalString("serverListen", ""),
  		ServerBaseURL: config.OptionalString("serverBaseURL", serverBaseURL),
  		AppConfig:     config.OptionalObject("appConfig"),
  	}
  	if err := config.Validate(); err != nil {
  		return HandlerConfig{}, err
  	}
  	return hc, nil
  }
docs: // FromJSONConfig creates an HandlerConfig from the contents of config.
  // prefix and serverBaseURL are used if not found in config.