fix(ci): 修正分布式实现的 staticcheck 错误
迁移 CLI 不再遮蔽 BeginMigration 的错误,拒绝启动时正确返回失败。规范节点批准错误文案和归档 HTTP 状态常量;tar.Reader 已将旧普通文件类型归一化,无需引用已弃用常量。 验证:CI 固定版本 staticcheck 全量通过;cmd/felis、archivetransfer、backup、distributed 的 go test -race 通过。
This commit is contained in:
4 files changed
+15
-15
No files matched your search
@@ -129,7 +129,7 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
if r.URL.Path == "/archives" && r.Method == http.MethodDelete {
|
||||
if len(s.Key) < 32 || !hmac.Equal([]byte(strings.TrimPrefix(r.Header.Get("Authorization"), "Bearer ")), []byte(s.Key)) {
|
||||
http.Error(w, "unauthorized", 401)
|
||||
http.Error(w, "unauthorized", http.StatusUnauthorized)
|
||||
return
|
||||
}
|
||||
var q struct {
|
||||
@@ -152,7 +152,7 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
if r.URL.Path == "/inspect" && r.Method == http.MethodPost {
|
||||
if len(s.Key) < 32 || !hmac.Equal([]byte(strings.TrimPrefix(r.Header.Get("Authorization"), "Bearer ")), []byte(s.Key)) {
|
||||
http.Error(w, "unauthorized", 401)
|
||||
http.Error(w, "unauthorized", http.StatusUnauthorized)
|
||||
return
|
||||
}
|
||||
var q struct {
|
||||
@@ -165,7 +165,7 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
local := &backup.TarLocal{BackupRoot: s.Root}
|
||||
sum, err := local.Verify(r.Context(), backup.ArchiveRef(q.Ref), "")
|
||||
if err != nil {
|
||||
http.Error(w, "archive is absent or corrupt", 422)
|
||||
http.Error(w, "archive is absent or corrupt", http.StatusUnprocessableEntity)
|
||||
return
|
||||
}
|
||||
st, err := os.Stat(q.Ref)
|
||||
@@ -347,7 +347,7 @@ func (s *Server) upload(r *http.Request, t Ticket) error {
|
||||
func (s *Server) download(w http.ResponseWriter, r *http.Request, t Ticket) {
|
||||
root, err := os.OpenRoot(s.Root)
|
||||
if err != nil {
|
||||
http.Error(w, "archive unavailable", 503)
|
||||
http.Error(w, "archive unavailable", http.StatusServiceUnavailable)
|
||||
return
|
||||
}
|
||||
defer root.Close()
|
||||
@@ -359,7 +359,7 @@ func (s *Server) download(w http.ResponseWriter, r *http.Request, t Ticket) {
|
||||
defer f.Close()
|
||||
st, err := f.Stat()
|
||||
if err != nil || !st.Mode().IsRegular() || st.Size() > t.Limit {
|
||||
http.Error(w, "archive exceeds transfer bounds", 413)
|
||||
http.Error(w, "archive exceeds transfer bounds", http.StatusRequestEntityTooLarge)
|
||||
return
|
||||
}
|
||||
w.Header().Set("Content-Type", "application/gzip")
|
||||
|
||||
@@ -41,7 +41,7 @@ func VerifyRestored(ctx context.Context, ref, world string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if h.Typeflag != tar.TypeReg && h.Typeflag != tar.TypeRegA {
|
||||
if h.Typeflag != tar.TypeReg {
|
||||
continue
|
||||
}
|
||||
dst, err := root.Open(h.Name)
|
||||
|
||||
Reference in new issue
Block a user