CURLSMBS Confirmation of SFTP Upload

I’m using CURLSMBS.PerformMT to upload a small batch of files. When I test with my own FTP host, I get a nice verbose stream of debug messages which infallibly reports a successful upload with the line

226-File successfully transferred

If I don’t get a 226 message I can be pretty confident that it didn’t go (regardless of CURLSMBS.LastError, which can be 0 or -1 even with a failed transfer), and vice-versa.

When uploading to my client’s SFTP host (AWS), however, I get very little info - just some authentication stuff, then

Authentication complete
We are completely uploaded and fine
Connection #0 to host xxxxxxxxxx.xxx left intact

If I get the (somewhat wishy-washy) “We are completely uploaded and fine” (which may be coming from my side and not the server, I’m not sure) and no FTP errors occurred and CURLSMBS.LastError = 0 or -1, can I really be sure that the transfer was successful?

Maybe I should also check for percent = 100 in the Progress event? I really don’t want to have to pull a directory listing after the transfer to make sure if I don’t have to.

What is the result of PerformMT?
And compared to debug logs.

In general we expect to get zero returned when transfer completes.

The message “We are completely uploaded and fine” comes, when progress reaches 100% as uploaded byte count equals the input file size.

I’m not checking Result, I’m checking LastError. Is there a difference? The docs only give a couple of “typical” codes for Result, but they show extensive list of LastError codes.

In any case, I know that it is possible to have LastError = 0 or LastError = -1 (-1 means OK for MT) even in the event of a timeout. LastError is not reliable by itself, I also have to check LastErrorMessage for any text in case of a timeout.

I also had a case where something was configured wrong on the server side, and CURLS was reporting no error or errormessage, but the files were not being stored on the server.

Thanks for confirming that “We are completely uploaded and fine” is just internal progress status.

Forum for Xojo Programming Language and IDE. Copyright © 2021 Xojo, Inc.