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"
|
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 {
|
func Put(filehash, filename string) error {
|
||||||
if filename == "" {
|
if filename == "" {
|
||||||
filename = filehash
|
filename = filehash
|
||||||
|
@ -23,7 +23,13 @@ func (c *SyncCommand) Run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
path := gitmedia.LocalMediaPath(sha)
|
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 {
|
if err != nil {
|
||||||
gitmedia.Panic(err, "error uploading file %s", sha)
|
gitmedia.Panic(err, "error uploading file %s", sha)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user