获取文件内容增加文件是否文本标识
This commit is contained in:
parent
f6ce389d6c
commit
5fc9cd0e50
|
@ -22,6 +22,7 @@ type BatchFileResponse struct {
|
||||||
|
|
||||||
type ContentsResponse struct {
|
type ContentsResponse struct {
|
||||||
*gitea_api.ContentsResponse
|
*gitea_api.ContentsResponse
|
||||||
|
IsTextFile bool `json:"is_text_file"`
|
||||||
LatestCommit ContentsResponseCommit `json:"latest_commit"`
|
LatestCommit ContentsResponseCommit `json:"latest_commit"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
repo_model "code.gitea.io/gitea/models/repo"
|
repo_model "code.gitea.io/gitea/models/repo"
|
||||||
"code.gitea.io/gitea/modules/git"
|
"code.gitea.io/gitea/modules/git"
|
||||||
gitea_api "code.gitea.io/gitea/modules/structs"
|
gitea_api "code.gitea.io/gitea/modules/structs"
|
||||||
|
"code.gitea.io/gitea/modules/typesniffer"
|
||||||
"code.gitea.io/gitea/modules/util"
|
"code.gitea.io/gitea/modules/util"
|
||||||
gitea_files_service "code.gitea.io/gitea/services/repository/files"
|
gitea_files_service "code.gitea.io/gitea/services/repository/files"
|
||||||
hat_api "code.gitlink.org.cn/Gitlink/gitea_hat.git/modules/structs"
|
hat_api "code.gitlink.org.cn/Gitlink/gitea_hat.git/modules/structs"
|
||||||
|
@ -134,6 +135,21 @@ func GetContents(ctx context.Context, repo *repo_model.Repository, treePath, ref
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
blob, err := gitRepo.GetBlob(entry.ID.String())
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
dataRc, err := blob.DataAsync()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
buf := make([]byte, 1024)
|
||||||
|
n, _ := util.ReadAtMost(dataRc, buf)
|
||||||
|
buf = buf[:n]
|
||||||
|
|
||||||
|
st := typesniffer.DetectContentType(buf)
|
||||||
|
isTextFile := st.IsText()
|
||||||
|
|
||||||
contentsResponse := &hat_api.ContentsResponse{
|
contentsResponse := &hat_api.ContentsResponse{
|
||||||
ContentsResponse: &gitea_api.ContentsResponse{
|
ContentsResponse: &gitea_api.ContentsResponse{
|
||||||
Name: entry.Name(),
|
Name: entry.Name(),
|
||||||
|
@ -146,6 +162,7 @@ func GetContents(ctx context.Context, repo *repo_model.Repository, treePath, ref
|
||||||
Self: &selfURLString,
|
Self: &selfURLString,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
IsTextFile: isTextFile,
|
||||||
LatestCommit: hat_api.ContentsResponseCommit{
|
LatestCommit: hat_api.ContentsResponseCommit{
|
||||||
Message: lastCommit.CommitMessage,
|
Message: lastCommit.CommitMessage,
|
||||||
Sha: lastCommit.ID.String(),
|
Sha: lastCommit.ID.String(),
|
||||||
|
|
Loading…
Reference in New Issue