Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ UploadDataAsync() [3/3]

void System.Net.WebClient.UploadDataAsync ( Uri address,
string? method,
byte[] data,
object? userToken )
inline

Definition at line 1678 of file WebClient.cs.

1679 {
1680 ArgumentNullException.ThrowIfNull(address, "address");
1681 ArgumentNullException.ThrowIfNull(data, "data");
1682 if (method == null)
1683 {
1684 method = MapToDefaultMethod(address);
1685 }
1686 AsyncOperation asyncOp = StartAsyncOperation(userToken);
1687 try
1688 {
1689 _method = method;
1690 _contentLength = data.Length;
1691 WebRequest request = (_webRequest = GetWebRequest(GetUri(address)));
1692 int chunkSize = 0;
1693 if (this.UploadProgressChanged != null)
1694 {
1695 chunkSize = (int)Math.Min(8192L, data.Length);
1696 }
1697 UploadBitsAsync(request, null, data, chunkSize, null, null, asyncOp, delegate(byte[] result, Exception error, AsyncOperation uploadAsyncOp)
1698 {
1699 InvokeOperationCompleted(asyncOp, _uploadDataOperationCompleted, new UploadDataCompletedEventArgs(result, error, _canceled, uploadAsyncOp.UserSuppliedState));
1700 });
1701 }
1702 catch (Exception ex) when (!(ex is OutOfMemoryException))
1703 {
1704 UploadDataCompletedEventArgs eventArgs = new UploadDataCompletedEventArgs(null, GetExceptionToPropagate(ex), _canceled, asyncOp.UserSuppliedState);
1706 }
1707 }
Uri GetUri(string address)
Definition WebClient.cs:990
virtual WebRequest GetWebRequest(Uri address)
Definition WebClient.cs:428
WebRequest _webRequest
Definition WebClient.cs:76
SendOrPostCallback _uploadDataOperationCompleted
Definition WebClient.cs:110
static Exception GetExceptionToPropagate(Exception e)
AsyncOperation StartAsyncOperation(object userToken)
Definition WebClient.cs:366
string MapToDefaultMethod(Uri address)
UploadProgressChangedEventHandler? UploadProgressChanged
Definition WebClient.cs:273
void InvokeOperationCompleted(AsyncOperation asyncOp, SendOrPostCallback callback, AsyncCompletedEventArgs eventArgs)
async void UploadBitsAsync(WebRequest request, Stream readStream, byte[] buffer, int chunkSize, byte[] header, byte[] footer, AsyncOperation asyncOp, Action< byte[], Exception, AsyncOperation > completionDelegate)

References System.Net.WebClient._canceled, System.Net.WebClient._contentLength, System.Net.WebClient._method, System.Net.WebClient._uploadDataOperationCompleted, System.Net.WebClient._webRequest, System.Net.WebClient.GetExceptionToPropagate(), System.Net.WebClient.GetUri(), System.Net.WebClient.GetWebRequest(), System.Net.WebClient.InvokeOperationCompleted(), System.L, System.Net.WebClient.MapToDefaultMethod(), System.Math.Min(), System.Net.WebClient.StartAsyncOperation(), System.ArgumentNullException.ThrowIfNull(), System.Net.WebClient.UploadBitsAsync(), and System.ComponentModel.AsyncOperation.UserSuppliedState.