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

◆ UploadValuesAsync() [3/3]

void System.Net.WebClient.UploadValuesAsync ( Uri address,
string? method,
NameValueCollection data,
object? userToken )
inline

Definition at line 1761 of file WebClient.cs.

1762 {
1763 ArgumentNullException.ThrowIfNull(address, "address");
1764 ArgumentNullException.ThrowIfNull(data, "data");
1765 if (method == null)
1766 {
1767 method = MapToDefaultMethod(address);
1768 }
1769 AsyncOperation asyncOp = StartAsyncOperation(userToken);
1770 try
1771 {
1772 byte[] valuesToUpload = GetValuesToUpload(data);
1773 _method = method;
1774 WebRequest request = (_webRequest = GetWebRequest(GetUri(address)));
1775 int chunkSize = 0;
1776 if (this.UploadProgressChanged != null)
1777 {
1778 chunkSize = (int)Math.Min(8192L, valuesToUpload.Length);
1779 }
1780 UploadBitsAsync(request, null, valuesToUpload, chunkSize, null, null, asyncOp, delegate(byte[] result, Exception error, AsyncOperation uploadAsyncOp)
1781 {
1782 InvokeOperationCompleted(asyncOp, _uploadValuesOperationCompleted, new UploadValuesCompletedEventArgs(result, error, _canceled, uploadAsyncOp.UserSuppliedState));
1783 });
1784 }
1785 catch (Exception ex) when (!(ex is OutOfMemoryException))
1786 {
1787 UploadValuesCompletedEventArgs eventArgs = new UploadValuesCompletedEventArgs(null, GetExceptionToPropagate(ex), _canceled, asyncOp.UserSuppliedState);
1789 }
1790 }
Uri GetUri(string address)
Definition WebClient.cs:990
byte[] GetValuesToUpload(NameValueCollection data)
Definition WebClient.cs:799
SendOrPostCallback _uploadValuesOperationCompleted
Definition WebClient.cs:114
virtual WebRequest GetWebRequest(Uri address)
Definition WebClient.cs:428
WebRequest _webRequest
Definition WebClient.cs:76
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._method, System.Net.WebClient._uploadValuesOperationCompleted, System.Net.WebClient._webRequest, System.Net.WebClient.GetExceptionToPropagate(), System.Net.WebClient.GetUri(), System.Net.WebClient.GetValuesToUpload(), 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.