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)); }