public async Task Upload(HttpClientTestContext ctx,
                                 CancellationToken cancellationToken)
        {
            var uri = Server.GetUri(Upload_Handler);

            var upload = new RandomDataStream(UploadSize);

            var request = new HttpRequestMessage(HttpMethod.Post, uri);

            request.Content = new StreamContent(upload);

            HttpResponseMessage response;
            var task = ctx.Client.SendAsync(request, cancellationToken);

            if (ctx.ThreadingMode == ThreadingMode.MainThread)
            {
                response = await task;
            }
            else
            {
                response = await task.ConfigureAwait(false);

                if (ctx.ThreadingMode == ThreadingMode.ThreadPool)
                {
                    await Task.Yield();
                }
            }
            ctx.AutoDispose(response);
            Server.CheckException(response);

            ctx.Assert(response.IsSuccessStatusCode, Is.True, "#100");
        }
Example #2
0
		public async Task Upload (HttpClientTestContext ctx,
		                          CancellationToken cancellationToken)
		{
			var uri = Server.GetUri (Upload_Handler);

			var upload = new RandomDataStream (UploadSize);

			var request = new HttpRequestMessage (HttpMethod.Post, uri);
			request.Content = new StreamContent (upload);

			HttpResponseMessage response;
			var task = ctx.Client.SendAsync (request, cancellationToken);
			if (ctx.ThreadingMode == ThreadingMode.MainThread)
				response = await task;
			else {
				response = await task.ConfigureAwait (false);
				if (ctx.ThreadingMode == ThreadingMode.ThreadPool)
					await Task.Yield ();
			}
			ctx.AutoDispose (response);
			Server.CheckException (response);

			ctx.Assert (response.IsSuccessStatusCode, Is.True, "#100");
		}