func launchAPI(control chan int, port int) { c := controller.NewServerController() goweb.ConfigureDefaultFormatters() r := &goweb.RouteManager{} r.Map("/job/{jid}/acl/{type}", c.JobAcl["typed"]) r.Map("/job/{jid}/acl", c.JobAcl["base"]) r.Map("/cgroup/{cgid}/acl/{type}", c.ClientGroupAcl["typed"]) r.Map("/cgroup/{cgid}/acl", c.ClientGroupAcl["base"]) r.Map("/cgroup/{cgid}/token", c.ClientGroupToken) r.MapRest("/job", c.Job) r.MapRest("/work", c.Work) r.MapRest("/cgroup", c.ClientGroup) r.MapRest("/client", c.Client) r.MapRest("/queue", c.Queue) r.MapRest("/logger", c.Logger) r.MapRest("/awf", c.Awf) r.MapFunc("*", controller.ResourceDescription, goweb.GetMethod) if conf.SSL_ENABLED { err := goweb.ListenAndServeRoutesTLS(fmt.Sprintf(":%d", conf.API_PORT), conf.SSL_CERT_FILE, conf.SSL_KEY_FILE, r) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: api: %v\n", err) logger.Error("ERROR: api: " + err.Error()) } } else { err := goweb.ListenAndServeRoutes(fmt.Sprintf(":%d", conf.API_PORT), r) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: api: %v\n", err) logger.Error("ERROR: api: " + err.Error()) } } control <- 1 //we are ending }
func launchSite(control chan int, port int) { goweb.ConfigureDefaultFormatters() r := &goweb.RouteManager{} r.MapFunc("*", controller.SiteDir) if conf.SSL_ENABLED { err := goweb.ListenAndServeRoutesTLS(fmt.Sprintf(":%d", conf.SITE_PORT), conf.SSL_CERT_FILE, conf.SSL_KEY_FILE, r) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: site: %v\n", err) logger.Error("ERROR: site: " + err.Error()) } } else { err := goweb.ListenAndServeRoutes(fmt.Sprintf(":%d", conf.SITE_PORT), r) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: site: %v\n", err) logger.Error("ERROR: site: " + err.Error()) } } control <- 1 //we are ending }
func launchSite(control chan int, port int) { goweb.ConfigureDefaultFormatters() r := &goweb.RouteManager{} site_directory := conf.SITE_PATH fileinfo, err := os.Stat(site_directory) if err != nil { message := fmt.Sprintf("ERROR: site, path %s does not exist: %s", site_directory, err.Error()) if os.IsNotExist(err) { message += " IsNotExist" } fmt.Fprintf(os.Stderr, message, "\n") logger.Error(message) os.Exit(1) } else { if !fileinfo.IsDir() { message := fmt.Sprintf("ERROR: site, path %s exists, but is not a directory", site_directory) fmt.Fprintf(os.Stderr, message, "\n") logger.Error(message) os.Exit(1) } } r.MapFunc("*", controller.SiteDir) if conf.SSL_ENABLED { err := goweb.ListenAndServeRoutesTLS(fmt.Sprintf(":%d", conf.SITE_PORT), conf.SSL_CERT_FILE, conf.SSL_KEY_FILE, r) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: site: %v\n", err) logger.Error("ERROR: site: " + err.Error()) } } else { err := goweb.ListenAndServeRoutes(fmt.Sprintf(":%d", conf.SITE_PORT), r) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: site: %v\n", err) logger.Error("ERROR: site: " + err.Error()) } } control <- 1 //we are ending }
func launchAPI(control chan int, port int) { c := controller.NewProxyController() goweb.ConfigureDefaultFormatters() r := &goweb.RouteManager{} r.MapRest("/work", c.Work) r.MapRest("/client", c.Client) r.MapFunc("*", controller.ResourceDescription, goweb.GetMethod) if conf.SSL_ENABLED { err := goweb.ListenAndServeRoutesTLS(fmt.Sprintf(":%d", conf.P_API_PORT), conf.SSL_CERT_FILE, conf.SSL_KEY_FILE, r) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: api: %v\n", err) logger.Error("ERROR: api: " + err.Error()) } } else { err := goweb.ListenAndServeRoutes(fmt.Sprintf(":%d", conf.P_API_PORT), r) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: api: %v\n", err) logger.Error("ERROR: api: " + err.Error()) } } control <- 1 //we are ending }
func launchSite(control chan int, port int) { goweb.ConfigureDefaultFormatters() r := &goweb.RouteManager{} site_directory := conf.SITE_PATH fileinfo, err := os.Stat(site_directory) if err != nil { message := fmt.Sprintf("ERROR: site, path %s does not exist: %s", site_directory, err.Error()) if os.IsNotExist(err) { message += " IsNotExist" } fmt.Fprintf(os.Stderr, message, "\n") logger.Error(message) os.Exit(1) } else { if !fileinfo.IsDir() { message := fmt.Sprintf("ERROR: site, path %s exists, but is not a directory", site_directory) fmt.Fprintf(os.Stderr, message, "\n") logger.Error(message) os.Exit(1) } } template_conf_filename := path.Join(conf.SITE_PATH, "js/config.js.tt") target_conf_filename := path.Join(conf.SITE_PATH, "js/config.js") buf, err := ioutil.ReadFile(template_conf_filename) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: could not read config template: %v\n", err) logger.Error("ERROR: could not read config template: " + err.Error()) } template_conf_string := string(buf) // add / replace AWE API url if conf.API_URL == "" { fmt.Fprintf(os.Stderr, "ERROR: API_URL is not defined. \n") logger.Error("ERROR: API_URL is not defined.") } template_conf_string = strings.Replace(template_conf_string, "[% api_url %]", conf.API_URL, -1) // add auth auth_on := "false" auth_resources := "" if conf.GLOBUS_OAUTH || conf.MGRAST_OAUTH { auth_on = "true" b, _ := json.Marshal(conf.AUTH_RESOURCES) b = bytes.TrimPrefix(b, []byte("{")) b = bytes.TrimSuffix(b, []byte("}")) auth_resources = "," + string(b) } // replace auth template_conf_string = strings.Replace(template_conf_string, "[% auth_on %]", auth_on, -1) template_conf_string = strings.Replace(template_conf_string, "[% auth_default %]", conf.AUTH_DEFAULT, -1) template_conf_string = strings.Replace(template_conf_string, "[% auth_resources %]", auth_resources, -1) target_conf_file, err := os.Create(target_conf_filename) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: could not write config for Retina: %v\n", err) logger.Error("ERROR: could not write config for Retina: " + err.Error()) } _, err = io.WriteString(target_conf_file, template_conf_string) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: could not write config for Retina: %v\n", err) logger.Error("ERROR: could not write config for Retina: " + err.Error()) } target_conf_file.Close() r.MapFunc("*", controller.SiteDir) if conf.SSL_ENABLED { err := goweb.ListenAndServeRoutesTLS(fmt.Sprintf(":%d", conf.SITE_PORT), conf.SSL_CERT_FILE, conf.SSL_KEY_FILE, r) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: site: %v\n", err) logger.Error("ERROR: site: " + err.Error()) } } else { err := goweb.ListenAndServeRoutes(fmt.Sprintf(":%d", conf.SITE_PORT), r) if err != nil { fmt.Fprintf(os.Stderr, "ERROR: site: %v\n", err) logger.Error("ERROR: site: " + err.Error()) } } control <- 1 //we are ending }