private void CreateMultiSearchConverter(IMultiSearchRequest request)
        {
            var formatter  = new MultiSearchResponseFormatter(request);
            var serializer = ConnectionSettings.CreateStateful(formatter);
            var creator    = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s));

            request.RequestParameters.DeserializationOverride = creator;
        }
 /// <inheritdoc />
 public IMultiSearchResponse MultiSearchTemplate(IMultiSearchTemplateRequest request) =>
 Dispatcher.Dispatch <IMultiSearchTemplateRequest, MultiSearchTemplateRequestParameters, MultiSearchResponse>(
     request,
     (p, d) =>
 {
     var converter  = CreateMultiSearchTemplateDeserializer(p);
     var serializer = ConnectionSettings.CreateStateful(converter);
     var creator    = new MultiSearchTemplateCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s));
     request.RequestParameters.DeserializationOverride = creator;
     return(LowLevelDispatch.MsearchTemplateDispatch <MultiSearchResponse>(p, new SerializableData <IMultiSearchTemplateRequest>(p)));
 }
     );
 /// <inheritdoc />
 public Task <IMultiSearchResponse> MultiSearchTemplateAsync(IMultiSearchTemplateRequest request,
                                                             CancellationToken cancellationToken = default(CancellationToken)
                                                             ) => Dispatcher.DispatchAsync <IMultiSearchTemplateRequest, MultiSearchTemplateRequestParameters, MultiSearchResponse, IMultiSearchResponse>(
     request,
     cancellationToken,
     (p, d, c) =>
 {
     var converter  = CreateMultiSearchTemplateDeserializer(p);
     var serializer = ConnectionSettings.CreateStateful(converter);
     var creator    = new MultiSearchTemplateCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s));
     request.RequestParameters.DeserializationOverride = creator;
     return(LowLevelDispatch.MsearchTemplateDispatchAsync <MultiSearchResponse>(p, new SerializableData <IMultiSearchTemplateRequest>(p), c));
 }
     );
Ejemplo n.º 4
0
 private MultiGetResponse DeserializeMultiGetResponse(IApiCallDetails response, Stream stream, JsonConverter converter) =>
 ConnectionSettings.CreateStateful(converter).Deserialize <MultiGetResponse>(stream);
        private Func <IApiCallDetails, Stream, object> CreateMultiGetDeserializer(IMultiGetRequest request)
        {
            var formatter = new MultiGetResponseFormatter(request);

            return((r, s) => ConnectionSettings.CreateStateful(formatter).Deserialize <MultiGetResponse>(s));
        }