internal virtual void ModifyRequest(Http.IHttpRequest request) { foreach (var header in HeadersToSet) { request.Headers[header.Key] = header.Value; } }
private async Task AddCommonRequestHeaders(Http.IHttpRequest request) { // Check to see if authentication is still valid if (Authentication.TokenExpiration < DateTimeOffset.Now.AddMinutes(5)) { await Authentication.RefreshAccessTokenAsync(); } request.Headers["Authorization"] = Authentication.AuthorizationHeaderValue; request.Accept = ApiConstants.ContentTypeJson; }
private async Task <T> GetResponseDataModel <T>(Http.IHttpRequest request) where T : ODDataModel { var httpResponse = await GetHttpResponseAsync(request); if (null != httpResponse && (httpResponse.StatusCode == HttpStatusCode.Created || httpResponse.StatusCode == HttpStatusCode.OK)) { return(await httpResponse.ConvertToDataModel <T>()); } return(null); }
private static object Predict(Http.IHttpRequest request, Http.IHttpResponse response) { var idUsr = float.Parse(request.QueryString.Where(x => x.Key == "idUsr").Select(x => x.Value).FirstOrDefault()); var idSound = float.Parse(request.QueryString.Where(x => x.Key == "idSound").Select(x => x.Value).FirstOrDefault()); ModelInput sampleData = new ModelInput() { Userid = idUsr, Musicid = idSound, }; var predictionResult = ConsumeModel.Predict(sampleData); return(predictionResult.Score.ToString("#.#######", new System.Globalization.CultureInfo("en"))); }
/// <summary> /// Serializes the body object and writes in into the request stream of the HttpWebRequest instance. /// </summary> /// <param name="obj"></param> /// <param name="request"></param> /// <returns></returns> private async Task SerializeObjectToRequestBody(object obj, Http.IHttpRequest request) { request.ContentType = ApiConstants.ContentTypeJson; var settings = new Newtonsoft.Json.JsonSerializerSettings(); settings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter()); var bodyText = Newtonsoft.Json.JsonConvert.SerializeObject(obj, settings); var requestStream = await request.GetRequestStreamAsync(); var writer = new StreamWriter(requestStream, Encoding.UTF8, 1024 * 1024, true); await writer.WriteAsync(bodyText); await writer.FlushAsync(); }
private async Task <ODAsyncTask> AsyncTaskResultForRequest(Http.IHttpRequest request, Uri requestUri) { var response = await GetHttpResponseAsync(request); if (response.StatusCode == HttpStatusCode.Accepted) { var sourceUrl = new Uri(response.Headers[ApiConstants.LocationHeaderName]); var jobStatus = new ODAsyncTask { StatusUri = sourceUrl, RequestUri = requestUri }; await RefreshAsyncTaskStatus(jobStatus); return(jobStatus); } else { var exception = await response.ToException(); throw exception; } }
private static async Task <Http.IHttpResponse> GetHttpResponseAsync(Http.IHttpRequest request) { Http.IHttpResponse response; try { response = await request.GetResponseAsync(); } catch (Exception ex) { throw new ODException(ex.Message, ex); } switch (response.StatusCode.ToHttpResponseType()) { case HttpResponseType.ServerError: case HttpResponseType.ClientError: var exception = await response.ToException(); throw exception; } return(response); }
private async Task <T> DataModelForRequest <T>(Http.IHttpRequest request) where T : ODDataModel { var response = await GetHttpResponseAsync(request); return(await response.ConvertToDataModel <T>()); }
private void AddAsyncHeaders(Http.IHttpRequest request) { request.Headers[ApiConstants.PreferHeaderName] = ApiConstants.PreferAsyncResponseValue; }