...
A transfer request record is created either when there is a download or an upload initiated by a partner client that is connected to a local UDMG server or when a UDMG client is triggering a request on the interfaces: CLI, REST API, UAC UDMG File transfer task (see GET a file from an SFTP server). Usually, a transfer request is associated with a single file, where the filename is provided by the client and the path is determined by the transfer rule.
...
Example of a command line with the UDMG client to fetch the files matching the pattern “wince*.png” from the remote partner “rebex” (see 92078215 Tutorial - Download Multiple Files with Wildcard Mode)
Panel |
---|
$ waarp-gateway transfer add --way receive --partner rebex --login demo --rule rebex_receive_example --info udmg_xfer_wildcard:true --file 'wince*.png'
The transfer of file wince*.png was successfully added with ID 160.
|
...
Example of a command line to register the same request on the REST API with the curl tool, notice the transferInfo
field:
Panel |
---|
$ curl -i -L 'http://hostname/api/transfers' -H 'Content-Type: application/json' -d '{
"rule": "rebex_receive_example",
"partner": "rebex",
"account": "demo",
"isSend": false,
"file": "wince*.png",
"transferInfo": { "udmg_xfer_wildcard": true}
}'
HTTP/1.1 201 Created
Location: /api/transfers/160
Date: Wed, 01 Mar 2023 13:57:58 GMT
Content-Length: 0
|
The result is the creation of a transfer record with the wildcard pattern, which executes as follow:
Connect to the remote partner
List the files that are matching with the pattern on the remote path
Create a child transfer record for each of the files. This transfer is set to planned status and is independant independent from the parent request.
Terminates and keep the list of files and child requests in its transfer info metadata
Additionally, the file size field is set to the number of matched files (and child requests)
The child requests as processed independantly independently from the parent request and can be paused, resumed or cancelled on their own.
...
Panel |
---|
$ waarp-gateway transfer get 160
● Transfer 160 (receive as client) [DONE]
Remote ID: 1630930379848286208
Protocol: sftp
Rule: rebex_receive_example
Requester: demo
Requested: rebex
Local filepath: /data/tmp/wince*.png
Remote filepath: /pub/example/wince*.png
File size: 2
Start date: 2023-03-01 13:57:58.434889 +0000 UTC
End date: 2023-03-01 13:58:07.030964 +0000 UTC
Bytes transferred: 0
Transfer values:
- udmg_sftp_client_version: SSH-2.0-Go
- udmg_sftp_config_ciphers: [aes128-gcm@opensshgcm@openssh.com chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr]
- udmg_sftp_config_kex: [curve25519-sha256@libsshsha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group-exchange-sha256 diffie-hellman-group1-sha1 diffie-hellman-group14-sha1]
- udmg_sftp_config_mac: [hmac-sha2-256-etm@opensshetm@openssh.com hmac-sha2-256 hmac-sha1 hmac-sha1-96]
- udmg_sftp_failed_auth_methods: [none]
- udmg_sftp_hostkey_algo: ssh-rsa
- udmg_sftp_kex_algo: curve25519-sha256@libssh.org
- udmg_sftp_read_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
- udmg_sftp_server_version: SSH-2.0-RebexSSH_5.0.8208.0
- udmg_sftp_sucessful_auth_methods: password
- udmg_sftp_write_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
- udmg_xfer_childIDs: [161 162]
- udmg_xfer_files: [winceclient.png winceclientSmall.png]
- udmg_xfer_log: /config/logs/160.log
- udmg_xfer_wildcard: true
|
...
Panel |
---|
$ waarp-gateway transfer get 161
● Transfer 161 (receive as client) [DONE]
Remote ID: 1630930415730556928
Protocol: sftp
Rule: rebex_receive_example
Requester: demo
Requested: rebex
Local filepath: /data/in/winceclient.png
Remote filepath: /pub/example/winceclient.png
File size: 2635
Start date: 2023-03-01 13:57:58.434889 +0000 UTC
End date: 2023-03-01 13:58:17.005211 +0000 UTC
Bytes transferred: 2635
Transfer values:
- udmg_sftp_client_version: SSH-2.0-Go
- udmg_sftp_config_ciphers: [aes128-gcm@opensshgcm@openssh.com chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr]
- udmg_sftp_config_kex: [curve25519-sha256@libsshsha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group-exchange-sha256 diffie-hellman-group1-sha1 diffie-hellman-group14-sha1]
- udmg_sftp_config_mac: [hmac-sha2-256-etm@opensshetm@openssh.com hmac-sha2-256 hmac-sha1 hmac-sha1-96]
- udmg_sftp_failed_auth_methods: [none]
- udmg_sftp_hostkey_algo: ssh-rsa
- udmg_sftp_kex_algo: curve25519-sha256@libssh.org
- udmg_sftp_read_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
- udmg_sftp_server_version: SSH-2.0-RebexSSH_5.0.8208.0
- udmg_sftp_sucessful_auth_methods: password
- udmg_sftp_write_algos: map[cipher:aes128-gcm@opensshgcm@openssh.com compression:none mac:]
- udmg_xfer_log: /config/logs/161.log
- udmg_xfer_parentID: 160
|
...