MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / GetWebsite

Method GetWebsite

agent/app/service/website.go:642–695  ·  view source on GitHub ↗
(id uint)

Source from the content-addressed store, hash-verified

640}
641
642func (w WebsiteService) GetWebsite(id uint) (response.WebsiteDTO, error) {
643 var res response.WebsiteDTO
644 website, err := websiteRepo.GetFirst(repo.WithByID(id))
645 if err != nil {
646 return res, err
647 }
648 res.Website = website
649 res.ErrorLogPath = GetSitePath(website, SiteErrorLog)
650 res.AccessLogPath = GetSitePath(website, SiteAccessLog)
651 res.SitePath = GetSitePath(website, SiteDir)
652 res.SiteDir = website.SiteDir
653 fileOp := files.NewFileOp()
654 switch website.Type {
655 case constant.Runtime:
656 runtime, err := runtimeRepo.GetFirst(context.Background(), repo.WithByID(website.RuntimeID))
657 if err != nil {
658 return res, err
659 }
660 res.RuntimeType = runtime.Type
661 res.RuntimeName = runtime.Name
662 if runtime.Type == constant.RuntimePHP {
663 res.OpenBaseDir = fileOp.Stat(path.Join(GetSitePath(website, SiteIndexDir), ".user.ini"))
664 }
665 case constant.Stream:
666 nginxParser, err := parser.NewParser(GetSitePath(website, StreamConf))
667 if err != nil {
668 return res, err
669 }
670 config, err := nginxParser.Parse()
671 if err != nil {
672 return res, err
673 }
674 listens := config.FindDirectives("listen")
675 for _, listen := range listens {
676 params := listen.GetParameters()
677 if len(params) > 1 && params[1] == "udp" {
678 res.UDP = true
679 }
680 }
681 upstreams := config.FindUpstreams()
682 for _, up := range upstreams {
683 directives := up.GetDirectives()
684 for _, d := range directives {
685 dName := d.GetName()
686 if _, ok := dto.LBAlgorithms[dName]; ok {
687 res.Algorithm = dName
688 break
689 }
690 }
691 res.Servers = getNginxUpstreamServers(up.UpstreamServers)
692 }
693 }
694 return res, nil
695}
696
697func (w WebsiteService) DeleteWebsite(req request.WebsiteDelete) error {
698 website, err := websiteRepo.GetFirst(repo.WithByID(req.ID))

Callers

nothing calls this directly

Calls 11

StatMethod · 0.95
ParseMethod · 0.95
GetSitePathFunction · 0.85
getNginxUpstreamServersFunction · 0.85
FindUpstreamsMethod · 0.80
GetFirstMethod · 0.65
WithByIDMethod · 0.65
FindDirectivesMethod · 0.65
GetParametersMethod · 0.65
GetDirectivesMethod · 0.65
GetNameMethod · 0.65

Tested by

no test coverage detected