添加未找到缓存
This commit is contained in:
@@ -16,8 +16,6 @@ import (
|
|||||||
"gopkg.d7z.net/middleware/tools"
|
"gopkg.d7z.net/middleware/tools"
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
|
|
||||||
stdErr "errors"
|
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
"gopkg.d7z.net/gitea-pages/pkg/utils"
|
"gopkg.d7z.net/gitea-pages/pkg/utils"
|
||||||
@@ -109,12 +107,15 @@ func (s *ServerMeta) GetMeta(ctx context.Context, owner, repo string) (*PageMeta
|
|||||||
}
|
}
|
||||||
return nil, os.ErrNotExist
|
return nil, os.ErrNotExist
|
||||||
}
|
}
|
||||||
|
rel := NewEmptyPageMetaContent()
|
||||||
info, err := s.Meta(ctx, owner, repo)
|
info, err := s.Meta(ctx, owner, repo)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, stdErr.Join(err, os.ErrNotExist)
|
if errors.Is(err, os.ErrNotExist) {
|
||||||
|
rel.IsPage = false
|
||||||
|
_ = s.cache.Store(ctx, key, *rel)
|
||||||
|
}
|
||||||
|
return nil, err
|
||||||
}
|
}
|
||||||
rel := NewEmptyPageMetaContent()
|
|
||||||
vfs := NewPageVFS(s.Backend, owner, repo, info.ID)
|
vfs := NewPageVFS(s.Backend, owner, repo, info.ID)
|
||||||
rel.CommitID = info.ID
|
rel.CommitID = info.ID
|
||||||
rel.LastModified = info.LastModified
|
rel.LastModified = info.LastModified
|
||||||
|
|||||||
@@ -2,8 +2,10 @@ package providers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
"os"
|
||||||
|
|
||||||
"code.gitea.io/sdk/gitea"
|
"code.gitea.io/sdk/gitea"
|
||||||
"gopkg.d7z.net/gitea-pages/pkg/core"
|
"gopkg.d7z.net/gitea-pages/pkg/core"
|
||||||
@@ -33,8 +35,11 @@ func NewGitea(httpClient *http.Client, url, token, defaultBranch string) (*Provi
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (g *ProviderGitea) Meta(_ context.Context, owner, repo string) (*core.Metadata, error) {
|
func (g *ProviderGitea) Meta(_ context.Context, owner, repo string) (*core.Metadata, error) {
|
||||||
branch, _, err := g.gitea.GetRepoBranch(owner, repo, g.defaultBranch)
|
branch, resp, err := g.gitea.GetRepoBranch(owner, repo, g.defaultBranch)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
if resp != nil && resp.StatusCode >= 400 && resp.StatusCode < 500 {
|
||||||
|
return nil, errors.Join(err, os.ErrNotExist)
|
||||||
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return &core.Metadata{
|
return &core.Metadata{
|
||||||
|
|||||||
Reference in New Issue
Block a user