修复jsonFileHotReloadStorage在文件已存在的情况下,没有获取到文件写入权限 (#163)

* 修复`jsonFileHotReloadStorage`在文件已存在的情况下,没有获取到文件写入权限

* fix 截获Seek的错误
This commit is contained in:
TossPig 2022-12-13 17:56:06 +08:00 committed by GitHub
parent f07652e6c6
commit df01bfefe5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -33,7 +33,7 @@ type jsonFileHotReloadStorage struct {
func (j *jsonFileHotReloadStorage) Read(p []byte) (n int, err error) {
if j.file == nil {
j.file, err = os.Open(j.filename)
j.file, err = os.OpenFile(j.filename, os.O_RDWR, 0600)
if os.IsNotExist(err) {
return 0, ErrInvalidStorage
}
@ -51,6 +51,12 @@ func (j *jsonFileHotReloadStorage) Write(p []byte) (n int, err error) {
return 0, err
}
}
if _, err = j.file.Seek(0, io.SeekStart); err != nil {
return
}
if err = j.file.Truncate(0); err != nil {
return
}
return j.file.Write(p)
}