public async Task <SolrQueryResults <T> > ExecuteAsync(ISolrQuery q, ISolrQueryBody body, QueryOptions options, CancellationToken cancellationToken = default(CancellationToken)) { var handler = options?.RequestHandler?.HandlerUrl ?? DefaultHandler; var param = GetAllParameters(q, options); var results = new SolrQueryResults <T>(); var serializedBody = body?.Serialize() ?? String.Empty; XDocument xml; if (connection is IStreamSolrConnection cc) { using (var r = await cc.PostStreamAsStreamAsync(handler, body?.MimeType ?? SimpleJsonQueryBody.ApplicationJson, new MemoryStream(Encoding.UTF8.GetBytes(serializedBody)), param, cancellationToken)) { xml = XDocument.Load(r); } } else { var r = await connection.PostStreamAsync(handler, body?.MimeType ?? SimpleJsonQueryBody.ApplicationJson, new MemoryStream(Encoding.UTF8.GetBytes(serializedBody)), param); xml = XDocument.Parse(r); } resultParser.Parse(xml, results); return(results); }
public Task <string> ExecuteAsync(ISolrConnection connection) { string json = GetAtomicUpdateJson(); var bytes = Encoding.UTF8.GetBytes(json); using (var content = new MemoryStream(bytes)) return(connection.PostStreamAsync("/update", "text/json; charset=utf-8", content, GetParamsAsKvp())); }
public virtual Task <string> PostStreamAsync(string relativeUrl, string contentType, Stream content, IEnumerable <KeyValuePair <string, string> > parameters) { Console.WriteLine("Posting Binary Async"); return(conn.PostStreamAsync(relativeUrl, contentType, content, parameters)); }
public Task <string> ExecuteAsync(ISolrConnection connection) { var queryParameters = ConvertToQueryParameters(); return(connection.PostStreamAsync("/update/extract", parameters.StreamType, parameters.Content, queryParameters)); }
public Task <string> PostStreamAsync(string relativeUrl, string contentType, System.IO.Stream content, IEnumerable <KeyValuePair <string, string> > getParameters) { return(conn.PostStreamAsync(relativeUrl, contentType, content, getParameters)); }
public async Task <string> PostStreamAsync(string relativeUrl, string contentType, Stream content, IEnumerable <KeyValuePair <string, string> > getParameters) { // TODO add other args Log($"{nameof(relativeUrl)}={relativeUrl}, {nameof(contentType)}={contentType}"); return(await _connection.PostStreamAsync(relativeUrl, contentType, content, getParameters)); }