Return detailed error when directory is missing
Fixes https://github.com/tus/tusd/issues/98
This commit is contained in:
parent
3adec97aa5
commit
d5004f85a1
|
@ -17,6 +17,7 @@ package filestore
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
|
@ -62,7 +63,10 @@ func (store FileStore) NewUpload(info tusd.FileInfo) (id string, err error) {
|
||||||
// Create .bin file with no content
|
// Create .bin file with no content
|
||||||
file, err := os.OpenFile(store.binPath(id), os.O_CREATE|os.O_WRONLY, defaultFilePerm)
|
file, err := os.OpenFile(store.binPath(id), os.O_CREATE|os.O_WRONLY, defaultFilePerm)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
if os.IsNotExist(err) {
|
||||||
|
err = fmt.Errorf("upload directory does not exist: %s", store.Path)
|
||||||
|
}
|
||||||
|
return "", err
|
||||||
}
|
}
|
||||||
defer file.Close()
|
defer file.Close()
|
||||||
|
|
||||||
|
|
|
@ -72,6 +72,17 @@ func TestFilestore(t *testing.T) {
|
||||||
a.True(os.IsNotExist(err))
|
a.True(os.IsNotExist(err))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestMissingPath(t *testing.T) {
|
||||||
|
a := assert.New(t)
|
||||||
|
|
||||||
|
store := FileStore{"./path-that-does-not-exist"}
|
||||||
|
|
||||||
|
id, err := store.NewUpload(tusd.FileInfo{})
|
||||||
|
a.Error(err)
|
||||||
|
a.Equal(err.Error(), "upload directory does not exist: ./path-that-does-not-exist")
|
||||||
|
a.Equal(id, "")
|
||||||
|
}
|
||||||
|
|
||||||
func TestFileLocker(t *testing.T) {
|
func TestFileLocker(t *testing.T) {
|
||||||
a := assert.New(t)
|
a := assert.New(t)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue