Exemple #1
0
        public async Task <HttpResponseMessage> Invoke(OperationInfo info)
        {
            if (!IsValidHost())
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid request domain"));
            }

            if (info.TryFixUrl(Request.RequestUri.Host) && info.IsValidHost())
            {
                // request url is ok.
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid request url"));
            }

            var executeRequest = new HttpRequestMessage(new HttpMethod(info.HttpMethod), info.Url + (info.Url.IndexOf("?api-version=", StringComparison.Ordinal) != -1 ? string.Empty : "?api-version=" + info.ApiVersion) + (string.IsNullOrEmpty(info.QueryString) ? string.Empty : info.QueryString));

            if (info.RequestBody != null)
            {
                executeRequest.Content = new StringContent(info.RequestBody.ToString(), Encoding.UTF8, "application/json");
            }

            return(await _armRepository.InvokeAsync(Request, executeRequest));
        }
        public async Task <HttpResponseMessage> Invoke(OperationInfo info)
        {
            HyakUtils.CSMUrl = HyakUtils.CSMUrl ?? Utils.GetCSMUrl(Request.RequestUri.Host);

            // escaping "#" as it may appear in some resource names
            info.Url = info.Url.Replace("#", "%23");

            var executeRequest = new HttpRequestMessage(new HttpMethod(info.HttpMethod), info.Url + (info.Url.IndexOf("?api-version=", StringComparison.Ordinal) != -1 ? string.Empty : "?api-version=" + info.ApiVersion) + (string.IsNullOrEmpty(info.QueryString) ? string.Empty : info.QueryString));

            if (info.RequestBody != null)
            {
                executeRequest.Content = new StringContent(info.RequestBody.ToString(), Encoding.UTF8, "application/json");
            }

            return(await _armRepository.InvokeAsync(Request, executeRequest));
        }