From 9120ac1d28ed044e0286427281be9282b65ae483 Mon Sep 17 00:00:00 2001 From: Wim Date: Tue, 1 Nov 2022 21:22:12 +0100 Subject: [PATCH] Make gitea-pages variable --- gitea.go | 11 +++++++---- pkg/gitea/gitea.go | 22 ++++++++++++++-------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/gitea.go b/gitea.go index cdc92ce..0dbaac5 100644 --- a/gitea.go +++ b/gitea.go @@ -25,9 +25,10 @@ func parseCaddyfile(h httpcaddyfile.Helper) (caddyhttp.MiddlewareHandler, error) // Middleware implements gitea plugin. type Middleware struct { - Client *gitea.Client `json:"-"` - Server string `json:"server,omitempty"` - Token string `json:"token,omitempty"` + Client *gitea.Client `json:"-"` + Server string `json:"server,omitempty"` + Token string `json:"token,omitempty"` + GiteaPages string `json:"gitea_pages,omitempty"` } // CaddyModule returns the Caddy module information. @@ -40,7 +41,7 @@ func (Middleware) CaddyModule() caddy.ModuleInfo { // Provision provisions gitea client. func (m *Middleware) Provision(ctx caddy.Context) error { - m.Client = gitea.NewClient(m.Server, m.Token) + m.Client = gitea.NewClient(m.Server, m.Token, m.GiteaPages) return nil } @@ -59,6 +60,8 @@ func (m *Middleware) UnmarshalCaddyfile(d *caddyfile.Dispenser) (err error) { d.Args(&m.Server) case "token": d.Args(&m.Token) + case "gitea_pages": + d.Args(&m.GiteaPages) } } } diff --git a/pkg/gitea/gitea.go b/pkg/gitea/gitea.go index 8da5a9a..048ed2f 100644 --- a/pkg/gitea/gitea.go +++ b/pkg/gitea/gitea.go @@ -16,8 +16,9 @@ import ( ) type Client struct { - serverURL string - token string + serverURL string + token string + giteapages string } type pagesConfig struct { @@ -27,16 +28,21 @@ type topicsResponse struct { Topics []string `json:"topics"` } -func NewClient(serverURL, token string) *Client { +func NewClient(serverURL, token, giteapages string) *Client { + if giteapages == "" { + giteapages = "gitea-pages" + } + return &Client{ - serverURL: serverURL, - token: token, + serverURL: serverURL, + token: token, + giteapages: giteapages, } } func (c *Client) Open(name, ref string) (fs.File, error) { if ref == "" { - ref = "gitea-pages" + ref = c.giteapages } owner, repo, filepath, err := splitName(name) @@ -186,7 +192,7 @@ func (c *Client) allowsPages(owner, repo string) bool { } for _, topic := range topics { - if topic == "gitea-pages" { + if topic == c.giteapages { return true } } @@ -195,7 +201,7 @@ func (c *Client) allowsPages(owner, repo string) bool { } func (c *Client) readConfig(owner, repo string) error { - cfg, err := c.getRawFileOrLFS(owner, repo, "gitea-pages.toml", "gitea-pages") + cfg, err := c.getRawFileOrLFS(owner, repo, c.giteapages+".toml", c.giteapages) if err != nil && !errors.Is(err, fs.ErrNotExist) { return err }