/// <inheritdoc /> public Task <IMultiPercolateResponse> MultiPercolateAsync(IMultiPercolateRequest multiPercolateRequest) { return(this.DispatchAsync <IMultiPercolateRequest, MultiPercolateRequestParameters, MultiPercolateResponse, IMultiPercolateResponse>( multiPercolateRequest, (p, d) => { var json = Serializer.SerializeMultiPercolate(d); return this.RawDispatch.MpercolateDispatchAsync <MultiPercolateResponse>(p, json); } )); }
/// <inheritdoc /> public Task<IMultiPercolateResponse> MultiPercolateAsync(IMultiPercolateRequest multiPercolateRequest) { return this.DispatchAsync<IMultiPercolateRequest, MultiPercolateRequestParameters, MultiPercolateResponse, IMultiPercolateResponse>( multiPercolateRequest, (p, d) => { var json = Serializer.SerializeMultiPercolate(d); return this.RawDispatch.MpercolateDispatchAsync<MultiPercolateResponse>(p, json); } ); }
public string SerializeMultiPercolate(IMultiPercolateRequest multiPercolateRequest) { multiPercolateRequest.ThrowIfNull("multiPercolateRequest"); multiPercolateRequest.Percolations.ThrowIfEmpty("multiPercolateRequest does not define any percolations"); var sb = new StringBuilder(); foreach (var p in multiPercolateRequest.Percolations) { var operation = "percolate"; object body = p; var op = new PercolateHeader(); var countParams = p.GetRequestParameters() ?? new PercolateCountRequestParameters(); op.percolate_index = countParams.GetQueryStringValue <string>("percolate_index"); op.percolate_type = countParams.GetQueryStringValue <string>("percolate_type"); op.routing = countParams.GetQueryStringValue <string[]>("routing"); op.preference = countParams.GetQueryStringValue <string>("preference"); op.percolate_routing = countParams.GetQueryStringValue <string>("percolate_routing"); op.percolate_preference = countParams.GetQueryStringValue <string>("percolate_preference"); op.version = countParams.GetQueryStringValue <long?>("version"); var count = p as IIndexTypePath <PercolateCountRequestParameters>; var percolate = p as IIndexTypePath <PercolateRequestParameters>; if (count != null) { operation = "count"; if (multiPercolateRequest.Index != null && multiPercolateRequest.Index.EqualsMarker(count.Index)) { count.Index = null; } op.index = count.Index; op.type = count.Type; op.id = p.Id; } else if (percolate != null) { if (multiPercolateRequest.Index != null && multiPercolateRequest.Index.EqualsMarker(percolate.Index)) { percolate.Index = null; } op.index = percolate.Index; op.type = percolate.Type; op.id = p.Id; } else { continue; } var opJson = this.Serialize(op, SerializationFormatting.None).Utf8String(); var action = "{{\"{0}\":{1}}}\n".F(operation, opJson); sb.Append(action); if (body == null) { sb.Append("{}\n"); continue; } var jsonCommand = this.Serialize(body, SerializationFormatting.None).Utf8String(); sb.Append(jsonCommand + "\n"); } return(sb.ToString()); }
/// <inheritdoc/> public Task <IMultiPercolateResponse> MultiPercolateAsync(IMultiPercolateRequest request) => this.Dispatcher.DispatchAsync <IMultiPercolateRequest, MultiPercolateRequestParameters, MultiPercolateResponse, IMultiPercolateResponse>( request, this.LowLevelDispatch.MpercolateDispatchAsync <MultiPercolateResponse> );
/// <inheritdoc/> public IMultiPercolateResponse MultiPercolate(IMultiPercolateRequest request) => this.Dispatcher.Dispatch <IMultiPercolateRequest, MultiPercolateRequestParameters, MultiPercolateResponse>( request, this.LowLevelDispatch.MpercolateDispatch <MultiPercolateResponse> );
/// <inheritdoc/> public Task<IMultiPercolateResponse> MultiPercolateAsync(IMultiPercolateRequest request) => this.Dispatcher.DispatchAsync<IMultiPercolateRequest, MultiPercolateRequestParameters, MultiPercolateResponse, IMultiPercolateResponse>( request, this.LowLevelDispatch.MpercolateDispatchAsync<MultiPercolateResponse> );
/// <inheritdoc/> public IMultiPercolateResponse MultiPercolate(IMultiPercolateRequest request) => this.Dispatcher.Dispatch<IMultiPercolateRequest, MultiPercolateRequestParameters, MultiPercolateResponse>( request, this.LowLevelDispatch.MpercolateDispatch<MultiPercolateResponse> );
public static void Update(ElasticsearchPathInfo <MultiPercolateRequestParameters> pathInfo, IMultiPercolateRequest request) { pathInfo.HttpMethod = PathInfoHttpMethod.POST; }
public Task<IMultiPercolateResponse> MultiPercolateAsync(IMultiPercolateRequest request, CancellationToken cancellationToken = default(CancellationToken)) => this.Dispatcher.DispatchAsync<IMultiPercolateRequest, MultiPercolateRequestParameters, MultiPercolateResponse, IMultiPercolateResponse>( request, cancellationToken, this.LowLevelDispatch.MpercolateDispatchAsync<MultiPercolateResponse> );
public Task <IMultiPercolateResponse> MultiPercolateAsync(IMultiPercolateRequest request, CancellationToken cancellationToken = default(CancellationToken)) => this.Dispatcher.DispatchAsync <IMultiPercolateRequest, MultiPercolateRequestParameters, MultiPercolateResponse, IMultiPercolateResponse>( request, cancellationToken, this.LowLevelDispatch.MpercolateDispatchAsync <MultiPercolateResponse> );