/// <summary>Begins execution of the specified request context</summary> /// <returns>Returns an IAsyncController instance.</returns> /// <param name="requestContext">The request context.</param> /// <param name="callback">The asynchronous callback.</param> /// <param name="state">The state.</param> protected override IAsyncResult BeginExecute( RequestContext requestContext, AsyncCallback callback, object state) { controllerBenchmark = benchmarkHelper.Create(requestContext.HttpContext.Request.RawUrl); return(base.BeginExecute(requestContext, callback, state)); }
/// <summary>Executes asynchronously a single HTTP operation.</summary> /// <returns>The newly started task.</returns> /// <param name="controllerContext">The controller context for a single HTTP operation.</param> /// <param name="cancellationToken">The cancellation token assigned for the HTTP operation.</param> public override Task <HttpResponseMessage> ExecuteAsync( HttpControllerContext controllerContext, CancellationToken cancellationToken) { using (benchmarkHelper.Create(controllerContext.Request.RequestUri)) { return(base.ExecuteAsync(controllerContext, cancellationToken)); } }
/// <summary> /// Sends an HTTP DELETE request to the given uri. /// </summary> /// <typeparam name="T">The response type.</typeparam> /// <param name="uri">The URI.</param> /// <param name="username">The username.</param> /// <returns>The response object.</returns> protected async Task <T> Delete <T>(string uri, string username) where T : BaseResponse { var response = (T)Activator.CreateInstance(typeof(T)); HttpResponseMessage httpResponse; using (benchmarkHelper.Create(uri)) { httpResponse = await client.DeleteAsync(uri); } if (!httpResponse.IsSuccessStatusCode) { var err = errorHelper.Create(GetHttpError(httpResponse), username, GetType(), "Delete"); response.AddError(err); return(response); } response = await httpResponse.Content.ReadAsAsync <T>(); return(response); }