New: support xml-style errors from API
Allows to see more details about what's going wrong with the request(Azure SAS errors are xml)
Tests: got the SAS error locally, saw the logs in ServerManager
Bugfix: don't use a closed stream when retrying backup uploading
If we fail the upload at the point of consuming the stream (so passed backupBegin), it will close the stream and fall over on Position call, making retries useless.
Tests: when running own server it was erroring out on retries with stream closed exception - not anymore.
Bugfix: Don't wait after last upload retry
Tests: Saw the uploads fail, didn't see the log after last attempt.
Update: renamed file back to BackupData
I shouldn't have renamed it in the first place.
Clean: removing obsolete property
Tests: local run was able to upload files
Bugfix: respect the cancellation token when fetching a response of request
Update: limit how much time upload routine can take
- also add extra logging around processGuard semaphore
Tests: tested the entire flow by triggering 5 snapshots
Bugfix: use the right token for some async ops
Bugfix: avoid unlockign semaphore from the wrong thread
If it would time out during the wait period, it would release the semaphore in finally, leading to break of unique ownership promise
Clean: remove ITask inheritance from UploadPerfSnapshot
It used to be a task at the start, but not anymore
Update: review feedback
- dispose of the nested CTS for perf snapshot uploads
- Use async copy when creating an extra stream to send backup files
Tests: full local server flow + 2 snapshot uploads
Merge pull request #7 from Facepunch/DebugImprovements
Minor fixes and more verbose HTTP errors