tq: remove usage of ActionMissingErr
This commit is contained in:
parent
33c21f31b6
commit
d15c7ea989
@ -91,7 +91,9 @@ func (a *basicDownloadAdapter) download(t *Transfer, cb ProgressCallback, authOk
|
|||||||
rel, err := t.Actions.Get("download")
|
rel, err := t.Actions.Get("download")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
// return errors.New("Object not found on the server.")
|
}
|
||||||
|
if rel == nil {
|
||||||
|
return errors.New("Object not found on the server.")
|
||||||
}
|
}
|
||||||
|
|
||||||
req, err := a.newHTTPRequest("GET", rel)
|
req, err := a.newHTTPRequest("GET", rel)
|
||||||
|
@ -46,7 +46,9 @@ func (a *basicUploadAdapter) DoTransfer(ctx interface{}, t *Transfer, cb Progres
|
|||||||
rel, err := t.Actions.Get("upload")
|
rel, err := t.Actions.Get("upload")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
// return fmt.Errorf("No upload action for this object.")
|
}
|
||||||
|
if rel == nil {
|
||||||
|
return errors.New("No upload action for this object.")
|
||||||
}
|
}
|
||||||
|
|
||||||
req, err := a.newHTTPRequest("PUT", rel)
|
req, err := a.newHTTPRequest("PUT", rel)
|
||||||
|
@ -4,6 +4,7 @@ import (
|
|||||||
"bufio"
|
"bufio"
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
@ -265,7 +266,9 @@ func (a *customAdapter) DoTransfer(ctx interface{}, t *Transfer, cb ProgressCall
|
|||||||
rel, err := t.Actions.Get(a.getOperationName())
|
rel, err := t.Actions.Get(a.getOperationName())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
// return errors.New("Object not found on the server.")
|
}
|
||||||
|
if rel == nil {
|
||||||
|
return errors.New("Object not found on the server.")
|
||||||
}
|
}
|
||||||
var req *customAdapterTransferRequest
|
var req *customAdapterTransferRequest
|
||||||
if a.direction == Upload {
|
if a.direction == Upload {
|
||||||
|
@ -104,7 +104,7 @@ const (
|
|||||||
func (as ActionSet) Get(rel string) (*Action, error) {
|
func (as ActionSet) Get(rel string) (*Action, error) {
|
||||||
a, ok := as[rel]
|
a, ok := as[rel]
|
||||||
if !ok {
|
if !ok {
|
||||||
return nil, &ActionMissingError{Rel: rel}
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if !a.ExpiresAt.IsZero() && a.ExpiresAt.Before(time.Now().Add(objectExpirationToTransfer)) {
|
if !a.ExpiresAt.IsZero() && a.ExpiresAt.Before(time.Now().Add(objectExpirationToTransfer)) {
|
||||||
@ -124,14 +124,6 @@ func (e ActionExpiredErr) Error() string {
|
|||||||
e.Rel, e.At.In(time.Local).Format(time.RFC822))
|
e.Rel, e.At.In(time.Local).Format(time.RFC822))
|
||||||
}
|
}
|
||||||
|
|
||||||
type ActionMissingError struct {
|
|
||||||
Rel string
|
|
||||||
}
|
|
||||||
|
|
||||||
func (e ActionMissingError) Error() string {
|
|
||||||
return fmt.Sprintf("tq: unable to find action %q", e.Rel)
|
|
||||||
}
|
|
||||||
|
|
||||||
func IsActionExpiredError(err error) bool {
|
func IsActionExpiredError(err error) bool {
|
||||||
if _, ok := err.(*ActionExpiredErr); ok {
|
if _, ok := err.(*ActionExpiredErr); ok {
|
||||||
return true
|
return true
|
||||||
@ -139,13 +131,6 @@ func IsActionExpiredError(err error) bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
func IsActionMissingError(err error) bool {
|
|
||||||
if _, ok := err.(*ActionMissingError); ok {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewAdapterFunc creates new instances of Adapter. Code that wishes
|
// NewAdapterFunc creates new instances of Adapter. Code that wishes
|
||||||
// to provide new Adapter instances should pass an implementation of this
|
// to provide new Adapter instances should pass an implementation of this
|
||||||
// function to RegisterNewTransferAdapterFunc() on a *Manifest.
|
// function to RegisterNewTransferAdapterFunc() on a *Manifest.
|
||||||
|
@ -335,7 +335,7 @@ func (q *TransferQueue) enqueueAndCollectRetriesFor(batch batch) (batch, error)
|
|||||||
} else {
|
} else {
|
||||||
tr := newTransfer(o, t.Name, t.Path)
|
tr := newTransfer(o, t.Name, t.Path)
|
||||||
|
|
||||||
if _, err := tr.Actions.Get(q.direction.String()); err != nil {
|
if a, err := tr.Actions.Get(q.direction.String()); err != nil {
|
||||||
// XXX(taylor): duplication
|
// XXX(taylor): duplication
|
||||||
if q.canRetryObject(tr.Oid, err) {
|
if q.canRetryObject(tr.Oid, err) {
|
||||||
q.rc.Increment(tr.Oid)
|
q.rc.Increment(tr.Oid)
|
||||||
@ -344,14 +344,14 @@ func (q *TransferQueue) enqueueAndCollectRetriesFor(batch batch) (batch, error)
|
|||||||
tracerx.Printf("tq: enqueue retry #%d for %q (size: %d)", count, tr.Oid, tr.Size)
|
tracerx.Printf("tq: enqueue retry #%d for %q (size: %d)", count, tr.Oid, tr.Size)
|
||||||
next = append(next, t)
|
next = append(next, t)
|
||||||
} else {
|
} else {
|
||||||
if !IsActionMissingError(err) {
|
|
||||||
q.errorc <- errors.Errorf("[%v] %v", tr.Name, err)
|
q.errorc <- errors.Errorf("[%v] %v", tr.Name, err)
|
||||||
}
|
|
||||||
|
|
||||||
q.Skip(o.Size)
|
q.Skip(o.Size)
|
||||||
q.wait.Done()
|
q.wait.Done()
|
||||||
}
|
}
|
||||||
|
} else if a == nil {
|
||||||
|
q.Skip(o.Size)
|
||||||
|
q.wait.Done()
|
||||||
} else {
|
} else {
|
||||||
q.meter.StartTransfer(t.Name)
|
q.meter.StartTransfer(t.Name)
|
||||||
toTransfer = append(toTransfer, tr)
|
toTransfer = append(toTransfer, tr)
|
||||||
|
@ -39,7 +39,9 @@ func (a *tusUploadAdapter) DoTransfer(ctx interface{}, t *Transfer, cb ProgressC
|
|||||||
rel, err := t.Actions.Get("upload")
|
rel, err := t.Actions.Get("upload")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
// return fmt.Errorf("No upload action for this object.")
|
}
|
||||||
|
if rel == nil {
|
||||||
|
return errors.New("No upload action for this object.")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Note not supporting the Creation extension since the batch API generates URLs
|
// Note not supporting the Creation extension since the batch API generates URLs
|
||||||
|
@ -16,11 +16,11 @@ const (
|
|||||||
func verifyUpload(c *lfsapi.Client, t *Transfer) error {
|
func verifyUpload(c *lfsapi.Client, t *Transfer) error {
|
||||||
action, err := t.Actions.Get("verify")
|
action, err := t.Actions.Get("verify")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if IsActionMissingError(err) {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
if action == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
req, err := http.NewRequest("POST", action.Href, nil)
|
req, err := http.NewRequest("POST", action.Href, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user