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);
        }
Exemple #4
0
        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;
 }