private async Task <HttpRequestMessage> GetRequestMessage(HttpMethod method) { var apiKey = HttpContext.Items[ApiHttpHeaders.ApiKey].ToString(); var apiId = HttpContext.Items[ApiHttpHeaders.ApiId].ToString(); var serviceId = HttpContext.Items[ApiHttpHeaders.ServiceId].ToString(); var clientId = HttpContext.Items[ApiHttpHeaders.KeyId].ToString(); var api = await _apiManager.Get(apiKey, apiId); var service = await _serviceManager.Get(apiKey, serviceId); var queryString = GetQueryString(api.Name, service.Name); var fullUrl = api.Url; if (!string.IsNullOrWhiteSpace(queryString)) { if (fullUrl.EndsWith("/") || queryString.StartsWith("/")) { fullUrl += queryString; } else { fullUrl += "/" + queryString; } } var request = new HttpRequestMessage(method, fullUrl); request.Headers.Add("clientid", clientId); request.Headers.Add("apiid", apiId); request.Headers.Add("apigateway-url", Request.GetDisplayUrl()); if (api.CustomHeaders.Keys.Count > 0) { foreach (var key in api.CustomHeaders.Keys) { request.Headers.Add(key, api.CustomHeaders[key]); } } return(request); }
public async Task <ApiModel> GetById(string id) { return(await _manager.Get(ApiKey, id)); }