Make gitea-pages variable

This commit is contained in:
Wim 2022-11-01 21:22:12 +01:00
parent 9ed3fcd793
commit 9120ac1d28
No known key found for this signature in database
2 changed files with 21 additions and 12 deletions

View File

@ -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)
}
}
}

View File

@ -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
}