mirror of
https://github.com/rclone/rclone.git
synced 2024-11-26 18:34:41 +01:00
putio: add support for --header-upload and --header-download #59
This commit is contained in:
parent
7c98ecd3ab
commit
ab6ed256e5
@ -257,7 +257,7 @@ func (f *Fs) PutUnchecked(ctx context.Context, in io.Reader, src fs.ObjectInfo,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
loc, err := f.createUpload(ctx, leaf, size, directoryID, src.ModTime(ctx))
|
loc, err := f.createUpload(ctx, leaf, size, directoryID, src.ModTime(ctx), options)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -277,7 +277,7 @@ func (f *Fs) PutUnchecked(ctx context.Context, in io.Reader, src fs.ObjectInfo,
|
|||||||
return f.newObjectWithInfo(ctx, remote, entry)
|
return f.newObjectWithInfo(ctx, remote, entry)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Fs) createUpload(ctx context.Context, name string, size int64, parentID string, modTime time.Time) (location string, err error) {
|
func (f *Fs) createUpload(ctx context.Context, name string, size int64, parentID string, modTime time.Time, options []fs.OpenOption) (location string, err error) {
|
||||||
// defer log.Trace(f, "name=%v, size=%v, parentID=%v, modTime=%v", name, size, parentID, modTime.String())("location=%v, err=%v", location, &err)
|
// defer log.Trace(f, "name=%v, size=%v, parentID=%v, modTime=%v", name, size, parentID, modTime.String())("location=%v, err=%v", location, &err)
|
||||||
err = f.pacer.Call(func() (bool, error) {
|
err = f.pacer.Call(func() (bool, error) {
|
||||||
req, err := http.NewRequest("POST", "https://upload.put.io/files/", nil)
|
req, err := http.NewRequest("POST", "https://upload.put.io/files/", nil)
|
||||||
@ -292,6 +292,7 @@ func (f *Fs) createUpload(ctx context.Context, name string, size int64, parentID
|
|||||||
b64parentID := base64.StdEncoding.EncodeToString([]byte(parentID))
|
b64parentID := base64.StdEncoding.EncodeToString([]byte(parentID))
|
||||||
b64modifiedAt := base64.StdEncoding.EncodeToString([]byte(modTime.Format(time.RFC3339)))
|
b64modifiedAt := base64.StdEncoding.EncodeToString([]byte(modTime.Format(time.RFC3339)))
|
||||||
req.Header.Set("upload-metadata", fmt.Sprintf("name %s,no-torrent %s,parent_id %s,updated-at %s", b64name, b64true, b64parentID, b64modifiedAt))
|
req.Header.Set("upload-metadata", fmt.Sprintf("name %s,no-torrent %s,parent_id %s,updated-at %s", b64name, b64true, b64parentID, b64modifiedAt))
|
||||||
|
fs.OpenOptionAddHTTPHeaders(req.Header, options)
|
||||||
resp, err := f.oAuthClient.Do(req)
|
resp, err := f.oAuthClient.Do(req)
|
||||||
retry, err := shouldRetry(err)
|
retry, err := shouldRetry(err)
|
||||||
if retry {
|
if retry {
|
||||||
|
Loading…
Reference in New Issue
Block a user