This commit is contained in:
2021-05-22 21:10:42 +08:00
parent a99180ab98
commit 60c110eff3
2 changed files with 25 additions and 14 deletions

View File

@@ -78,6 +78,7 @@ func (api *API) HandleGetRandomFiles(w http.ResponseWriter, r *http.Request) {
getRandomFilesResponse := &GetRandomFilesResponse{ getRandomFilesResponse := &GetRandomFilesResponse{
Files: &files, Files: &files,
} }
log.Println("[api] Get random files")
json.NewEncoder(w).Encode(getRandomFilesResponse) json.NewEncoder(w).Encode(getRandomFilesResponse)
} }
@@ -108,20 +109,22 @@ func (api *API) HandleGetFilesInFolder(w http.ResponseWriter, r *http.Request) {
Files: &files, Files: &files,
} }
log.Println("[api] Get files in folder", getFilesInFolderRequest.Folder_id)
json.NewEncoder(w).Encode(getFilesInFolderResponse) json.NewEncoder(w).Encode(getFilesInFolderResponse)
} }
func (api *API) CheckToken(token string) (error) { func (api *API) CheckToken(w http.ResponseWriter, r *http.Request, token string) (error) {
if token != api.token { if token != api.token {
return errors.New("token not matched") err := errors.New("token not matched")
log.Println("[api] [Warning] Token not matched", token)
api.HandleErrorCode(w, r, err, 403)
return err
} }
log.Println("[api] Token passed")
return nil return nil
} }
func (api *API) HandleTokenNotMatch(w http.ResponseWriter, r *http.Request) {
api.HandleErrorStringCode(w, r, "token not match", 403)
}
func (api *API) HandleError(w http.ResponseWriter, r *http.Request, err error) { func (api *API) HandleError(w http.ResponseWriter, r *http.Request, err error) {
api.HandleErrorString(w, r, err.Error()) api.HandleErrorString(w, r, err.Error())
} }
@@ -135,7 +138,7 @@ func (api *API) HandleErrorString(w http.ResponseWriter, r *http.Request, errorS
} }
func (api *API) HandleErrorStringCode(w http.ResponseWriter, r *http.Request, errorString string, code int) { func (api *API) HandleErrorStringCode(w http.ResponseWriter, r *http.Request, errorString string, code int) {
log.Println("Handle Error", errorString) log.Println("[api] [Error]", code, errorString)
errStatus := &Status{ errStatus := &Status{
Status: errorString, Status: errorString,
} }
@@ -152,9 +155,8 @@ func (api *API) HandleReset(w http.ResponseWriter, r *http.Request) {
} }
// check token // check token
err = api.CheckToken(resetRequest.Token) err = api.CheckToken(w, r, resetRequest.Token)
if err != nil { if err != nil {
api.HandleTokenNotMatch(w, r)
return return
} }
@@ -182,9 +184,8 @@ func (api *API) HandleWalk(w http.ResponseWriter, r *http.Request) {
} }
// check token match // check token match
err = api.CheckToken(walkRequest.Token) err = api.CheckToken(w, r, walkRequest.Token)
if err != nil { if err != nil {
api.HandleTokenNotMatch(w, r)
return return
} }
@@ -248,6 +249,8 @@ func (api *API) HandleSearchFiles(w http.ResponseWriter, r *http.Request) {
return return
} }
log.Println("[api] Search files", searchFilesRequest.Filename, searchFilesRequest.Limit, searchFilesRequest.Offset)
json.NewEncoder(w).Encode(searchFilesResponse) json.NewEncoder(w).Encode(searchFilesResponse)
} }
@@ -277,6 +280,8 @@ func (api *API) HandleSearchFolders(w http.ResponseWriter, r *http.Request) {
return return
} }
log.Println("[api] Search folders", searchFoldersRequest.Foldername, searchFoldersRequest.Limit, searchFoldersRequest.Offset)
json.NewEncoder(w).Encode(searchFoldersResponse) json.NewEncoder(w).Encode(searchFoldersResponse)
} }
@@ -308,6 +313,8 @@ func (api *API) HandleGetFileStream(w http.ResponseWriter, r *http.Request) {
return return
} }
log.Println("[api] Stream file", path)
cmd := exec.Command("ffmpeg", cmd := exec.Command("ffmpeg",
"-i", path, "-i", path,
"-c:a", "libopus", "-c:a", "libopus",
@@ -348,6 +355,8 @@ func (api *API) HandleGetFileDirect(w http.ResponseWriter, r *http.Request) {
return return
} }
log.Println("[api] Get direct raw file", path)
http.ServeFile(w, r, path) http.ServeFile(w, r, path)
} }
@@ -380,6 +389,8 @@ func (api *API) HandleGetFile(w http.ResponseWriter, r *http.Request) {
return return
} }
log.Println("[api] Get pipe raw file", path)
src, err := os.Open(path) src, err := os.Open(path)
if err != nil { if err != nil {
api.HandleError(w, r, err) api.HandleError(w, r, err)

View File

@@ -143,6 +143,7 @@ func (database *Database) GetFile(id int64) (*File, error) {
} }
func (database *Database) ResetFiles() (error) { func (database *Database) ResetFiles() (error) {
log.Println("[db] Reset files")
var err error var err error
_, err = database.stmt.dropFiles.Exec() _, err = database.stmt.dropFiles.Exec()
if err != nil { if err != nil {
@@ -156,6 +157,7 @@ func (database *Database) ResetFiles() (error) {
} }
func (database *Database) ResetFolder() (error) { func (database *Database) ResetFolder() (error) {
log.Println("[db] Reset folders")
var err error var err error
_, err = database.stmt.dropFolder.Exec() _, err = database.stmt.dropFolder.Exec()
if err != nil { if err != nil {
@@ -173,7 +175,7 @@ func (database *Database) Walk(root string, pattern []string) (error) {
for _, v := range pattern { for _, v := range pattern {
patternDict[v] = true patternDict[v] = true
} }
log.Println(patternDict) log.Println("[db] Walk", root, patternDict)
return filepath.Walk(root, func (path string, info os.FileInfo, err error) (error) { return filepath.Walk(root, func (path string, info os.FileInfo, err error) (error) {
if err != nil { if err != nil {
return err return err
@@ -186,10 +188,8 @@ func (database *Database) Walk(root string, pattern []string) (error) {
// check pattern // check pattern
ext := filepath.Ext(info.Name()) ext := filepath.Ext(info.Name())
if _, ok := patternDict[ext]; !ok { if _, ok := patternDict[ext]; !ok {
log.Println("False", ext, info.Name())
return nil return nil
} }
log.Println("True", ext, info.Name())
// insert file, folder will aut created // insert file, folder will aut created
err = database.Insert(path, info.Size()) err = database.Insert(path, info.Size())