diff --git a/transfer/download.go b/transfer/download.go index 8d00012..4876771 100644 --- a/transfer/download.go +++ b/transfer/download.go @@ -17,6 +17,7 @@ type headers map[string]string type requestData struct { Security_hash string `json:"security_hash"` Domain_user_id string `json:"domain_user_id"` + RecipientId string `json:"recipient_id"` } type transferData struct { @@ -83,7 +84,6 @@ func getDownloadLink(client *http.Client, data transferData) (URL string, err er if err != nil { return } - var result map[string]interface{} err = json.Unmarshal(body, &result) if err != nil { @@ -114,6 +114,8 @@ func getTransferData(resp *http.Response) (out transferData, err error) { if out.req_data.Domain_user_id, ok = findVar(`user: {"key":"`, body); !ok { return out, errors.New("Unable to get domain user id") } + out.req_data.RecipientId, _ = findVar(`"recipient_id":"`, body) + if out.wt_session, ok = getCookieValue("_wt_session", resp); !ok { return out, errors.New("Unable to get _wt_session cookie") } diff --git a/transfer/write.go b/transfer/write.go index e1588fc..ac31d89 100644 --- a/transfer/write.go +++ b/transfer/write.go @@ -7,7 +7,7 @@ import ( "path" ) -func GetWriter(output string, dir string, force bool) (out io.Writer, err error) { +func GetWriter(output string, dir string, force bool) (out io.WriteCloser, err error) { if output == "-" { out = os.Stdout return