(website model.Website, updateFunc func(server *components.Server) error)
| 1712 | } |
| 1713 | |
| 1714 | func updateWebsiteConfig(website model.Website, updateFunc func(server *components.Server) error) error { |
| 1715 | configPath := GetSitePath(website, SiteConf) |
| 1716 | nginxContent, err := files.NewFileOp().GetContent(configPath) |
| 1717 | if err != nil { |
| 1718 | return err |
| 1719 | } |
| 1720 | |
| 1721 | config, err := parser.NewStringParser(string(nginxContent)).Parse() |
| 1722 | if err != nil { |
| 1723 | return err |
| 1724 | } |
| 1725 | config.FilePath = configPath |
| 1726 | servers := config.FindServers() |
| 1727 | if len(servers) == 0 { |
| 1728 | return errors.New("nginx config is not valid") |
| 1729 | } |
| 1730 | server := servers[0] |
| 1731 | if err := updateFunc(server); err != nil { |
| 1732 | return err |
| 1733 | } |
| 1734 | if err = nginx.WriteConfig(config, nginx.IndentedStyle); err != nil { |
| 1735 | return err |
| 1736 | } |
| 1737 | nginxInstall, err := getAppInstallByKey(constant.AppOpenresty) |
| 1738 | if err != nil { |
| 1739 | return err |
| 1740 | } |
| 1741 | return nginxCheckAndReload(string(nginxContent), configPath, nginxInstall.ContainerName) |
| 1742 | } |
| 1743 | |
| 1744 | func getServer(website model.Website) (*components.Server, error) { |
| 1745 | configPath := GetSitePath(website, SiteConf) |
no test coverage detected