5
5
"github.com/docopt/docopt-go"
6
6
"github.com/eventials/go-tus"
7
7
"github.com/eventials/go-tus/leveldbstore"
8
+ "github.com/jackhftang/tusc/internal/util"
8
9
"net/http"
9
10
"os"
10
11
)
@@ -23,39 +24,44 @@ Options:
23
24
`
24
25
25
26
func Client () {
27
+ var err error
26
28
arguments , _ := docopt .ParseDoc (clientUsage )
27
29
28
30
file , _ := arguments .String ("<file>" )
29
31
url , _ := arguments .String ("<url>" )
30
- resume := getBool (arguments , "--resumable" )
32
+ resume := util . GetBool (arguments , "--resumable" )
31
33
34
+ // open file
32
35
f , err := os .Open (file )
33
36
if err != nil {
34
- ExitWithMessages ("Cannot open file: " + file )
37
+ util . ExitWithMessages ("Cannot open file: " + file )
35
38
}
36
39
defer f .Close ()
37
40
38
41
// create the tus client
39
42
var store tus.Store
40
43
if resume {
41
- path := getString (arguments , "--store" )
44
+ path := util . GetString (arguments , "--store" )
42
45
store , err = leveldbstore .NewLeveldbStore (path )
43
46
if err != nil {
44
- ExitWithMessages ("Cannot Open " + path , clientUsage )
47
+ util . ExitWithMessages ("Cannot Open " + path , clientUsage )
45
48
}
46
49
}
47
50
48
51
client , _ := tus .NewClient (url , & tus.Config {
49
- ChunkSize : getInt64 (arguments , "--chuck-size" ),
50
- OverridePatchMethod : getBool (arguments , "--override-patch-method" ),
52
+ ChunkSize : util . GetInt64 (arguments , "--chuck-size" ),
53
+ OverridePatchMethod : util . GetBool (arguments , "--override-patch-method" ),
51
54
Resume : resume ,
52
55
Store : store ,
53
56
Header : make (http.Header ),
54
57
HttpClient : nil ,
55
58
})
56
59
57
60
// create an upload from a file.
58
- upload , _ := tus .NewUploadFromFile (f )
61
+ var upload * tus.Upload
62
+ if upload , err = tus .NewUploadFromFile (f ); err != nil {
63
+ util .ExitWithMessages ("Cannot create upload from file: " + f .Name ())
64
+ }
59
65
60
66
// create the uploader.
61
67
var uploader * tus.Uploader
@@ -64,11 +70,14 @@ func Client() {
64
70
} else {
65
71
uploader , err = client .CreateUpload (upload )
66
72
}
73
+ if err != nil {
74
+ util .ExitWithMessages ("Failed to upload" , err .Error ())
75
+ }
67
76
68
77
fmt .Println (uploader .Url ())
69
78
70
79
// start the uploading process.
71
80
if err = uploader .Upload (); err != nil {
72
- ExitWithMessages ("Upload incomplete" )
81
+ util . ExitWithMessages ("Upload incomplete" )
73
82
}
74
83
}
0 commit comments