Validate access with OPTIONS before doing a PUT
This commit is contained in:
parent
11cdd54e49
commit
1d93b80106
@ -21,6 +21,26 @@ const (
|
||||
gitMediaHeader = "0014 git media v1\n"
|
||||
)
|
||||
|
||||
func Options(filehash string) error {
|
||||
oid := filepath.Base(filehash)
|
||||
_, err := os.Stat(filehash)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
req, creds, err := clientRequest("OPTIONS", oid)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = doRequest(req, creds)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func Put(filehash, filename string) error {
|
||||
if filename == "" {
|
||||
filename = filehash
|
||||
|
@ -23,7 +23,13 @@ func (c *SyncCommand) Run() {
|
||||
}
|
||||
|
||||
path := gitmedia.LocalMediaPath(sha)
|
||||
err := gitmediaclient.Put(path, filename)
|
||||
|
||||
err := gitmediaclient.Options(path)
|
||||
if err != nil {
|
||||
gitmedia.Panic(err, "error uploading file %s", filename)
|
||||
}
|
||||
|
||||
err = gitmediaclient.Put(path, filename)
|
||||
if err != nil {
|
||||
gitmedia.Panic(err, "error uploading file %s", sha)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user