using System.Net.Http; using System.Threading; using System.Threading.Tasks; using Amazon.CloudSearchDomain.Model; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Util; namespace Sony.Filtr.Search.Api { //public class CloudSearchApi //{ // private readonly string _baseUrl; // public CloudSearchApi(string baseUrl) // { // _baseUrl = baseUrl; // } // public async Task SearchAsync(SearchRequest request, CancellationToken cancellationToken = null) // { // var requestMessage = BuildRequestMessage(request); // var client = new HttpClient(); // return await client.SendAsync(requestMessage); // } // public HttpRequestMessage BuildRequestMessage(SearchRequest publicRequest) // { // var url = new Flurl.Url(_baseUrl); // url.AppendPathSegment("/2013-01-01/search"); // url.QueryParams.Add("format", "sdk"); // url.QueryParams.Add("pretty", "true"); // if (publicRequest.Cursor != null) // url.QueryParams.Add("cursor", StringUtils.FromString(publicRequest.Cursor)); // if (publicRequest.Expr != null) // url.QueryParams.Add("expr", StringUtils.FromString(publicRequest.Expr)); // if (publicRequest.Facet != null) // url.QueryParams.Add("facet", StringUtils.FromString(publicRequest.Facet)); // if (publicRequest.FilterQuery != null) // url.QueryParams.Add("fq", StringUtils.FromString(publicRequest.FilterQuery)); // if (publicRequest.Highlight != null) // url.QueryParams.Add("highlight", StringUtils.FromString(publicRequest.Highlight)); // if (publicRequest.Partial.HasValue) // url.QueryParams.Add("partial", StringUtils.FromBool(publicRequest.Partial.Value)); // if (publicRequest.Query != null) // url.QueryParams.Add("q", StringUtils.FromString(publicRequest.Query)); // if (publicRequest.QueryOptions != null) // url.QueryParams.Add("q.options", StringUtils.FromString(publicRequest.QueryOptions)); // if (publicRequest.QueryParser != null) // url.QueryParams.Add("q.parser", StringUtils.FromString((ConstantClass)publicRequest.QueryParser)); // if (publicRequest.Return != null) // url.QueryParams.Add("return", StringUtils.FromString(publicRequest.Return)); // if (publicRequest.Size.HasValue) // url.QueryParams.Add("size", StringUtils.FromLong(publicRequest.Size.Value)); // if (publicRequest.Sort != null) // url.QueryParams.Add("sort", StringUtils.FromString(publicRequest.Sort)); // if (publicRequest.Start.HasValue) // url.QueryParams.Add("start", StringUtils.FromLong(publicRequest.Start.Value)); // return new HttpRequestMessage(HttpMethod.Get, url); // } //} }