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;
        }
Exemplo n.º 2
0
 /// <inheritdoc />
 public IMultiSearchResponse MultiSearch(IMultiSearchRequest request) =>
 Dispatcher.Dispatch <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse>(
     request,
     (p, d) =>
 {
     var converter  = CreateMultiSearchDeserializer(p);
     var serializer = ConnectionSettings.CreateStateful(converter);
     var creator    = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s));
     request.RequestParameters.DeserializationOverride = creator;
     return(LowLevelDispatch.MsearchDispatch <MultiSearchResponse>(p, new SerializableData <IMultiSearchRequest>(p)));
 }
     );
		/// <inheritdoc />
		public Task<IMultiSearchResponse> MultiSearchAsync(Func<MultiSearchDescriptor, MultiSearchDescriptor> multiSearchSelector) {
			return this.DispatchAsync<MultiSearchDescriptor, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>(
				multiSearchSelector(new MultiSearchDescriptor()),
				(p, d) =>
				{
					var converter = CreateMultiSearchConverter(d);
					var json = Serializer.SerializeMultiSearch(d);
					var creator = new MultiSearchCreator((r, s) => this.DeserializeMultiSearchHit(r, s, converter));
					return this.RawDispatch.MsearchDispatchAsync<MultiSearchResponse>(p.DeserializationState(creator), json);
				}
			);
		}
Exemplo n.º 4
0
 /// <inheritdoc />
 public IMultiSearchResponse MultiSearch(Func <MultiSearchDescriptor, MultiSearchDescriptor> multiSearchSelector)
 {
     return(this.Dispatch <MultiSearchDescriptor, MultiSearchRequestParameters, MultiSearchResponse>(
                multiSearchSelector(new MultiSearchDescriptor(this.Infer)),
                (p, d) =>
     {
         var json = Serializer.SerializeMultiSearch(d);
         var converter = CreateMultiSearchConverter(d);
         var creator = new MultiSearchCreator((r, s) => this.DeserializeMultiSearchHit(r, s, converter));
         return this.RawDispatch.MsearchDispatch <MultiSearchResponse>(p.DeserializationState(creator), json);
     }
                ));
 }
		/// <inheritdoc />
		public IMultiSearchResponse MultiSearch(IMultiSearchRequest multiSearchRequest)
		{
			return this.Dispatch<IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse>(
				multiSearchRequest,
				(p, d) =>
				{
					var converter = CreateMultiSearchConverter(d);
					var json = Serializer.SerializeMultiSearch(d);
					var creator = new MultiSearchCreator((r, s) => this.DeserializeMultiSearchHit(r, s, converter));
					return this.RawDispatch.MsearchDispatch<MultiSearchResponse>(p.DeserializationState(creator), json);
				}
			);
		}
Exemplo n.º 6
0
 /// <inheritdoc />
 public Task <IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest multiSearchRequest)
 {
     return(this.DispatchAsync <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>(
                multiSearchRequest,
                (p, d) =>
     {
         var converter = CreateMultiSearchConverter(d);
         var json = Serializer.SerializeMultiSearch(d);
         var creator = new MultiSearchCreator((r, s) => this.DeserializeMultiSearchHit(r, s, converter));
         return this.RawDispatch.MsearchDispatchAsync <MultiSearchResponse>(p.DeserializationState(creator), json);
     }
                ));
 }
Exemplo n.º 7
0
 /// <inheritdoc />
 public Task <IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request,
                                                     CancellationToken cancellationToken = default(CancellationToken)
                                                     ) => Dispatcher.DispatchAsync <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>(
     request,
     cancellationToken,
     (p, d, c) =>
 {
     var converter  = CreateMultiSearchDeserializer(p);
     var serializer = ConnectionSettings.CreateStateful(converter);
     var creator    = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s));
     request.RequestParameters.DeserializationOverride = creator;
     return(LowLevelDispatch.MsearchDispatchAsync <MultiSearchResponse>(p, new SerializableData <IMultiSearchRequest>(p), c));
 }
     );
 /// <inheritdoc />
 public IMultiSearchResponse MultiSearch(IMultiSearchRequest request)
 {
     return(this.Dispatcher.Dispatch <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse>(
                request,
                (p, d) =>
     {
         var converter = CreateMultiSearchDeserializer(p);
         var serializer = this.ConnectionSettings.StatefulSerializer(converter);
         var creator = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s));
         request.RequestParameters.DeserializationOverride(creator);
         return this.LowLevelDispatch.MsearchDispatch <MultiSearchResponse>(p, (object)p);
     }
                ));
 }
		/// <inheritdoc />
		public IMultiSearchResponse MultiSearch(IMultiSearchRequest request)
		{
			return this.Dispatcher.Dispatch<IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse>(
				request,
				(p, d) =>
				{
					var converter = CreateMultiSearchDeserializer(p);
					var serializer = this.ConnectionSettings.StatefulSerializer(converter);
					var creator = new MultiSearchCreator((r, s) => serializer.Deserialize<MultiSearchResponse>(s));
					request.RequestParameters.DeserializationOverride(creator);
					return this.LowLevelDispatch.MsearchDispatch<MultiSearchResponse>(p, (object)p);
				}
			);
		}
Exemplo n.º 10
0
 /// <inheritdoc />
 public Task <IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request)
 {
     return(this.Dispatcher.DispatchAsync <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>(
                request,
                (p, d) =>
     {
         var converter = CreateMultiSearchDeserializer(p);
         var serializer = new NestSerializer(this.ConnectionSettings, converter);
         var json = serializer.SerializeToBytes(p).Utf8String();
         var creator = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s));
         request.RequestParameters.DeserializationOverride(creator);
         return this.LowLevelDispatch.MsearchDispatchAsync <MultiSearchResponse>(p, json);
     }
                ));
 }
 /// <inheritdoc />
 public Task <IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request, CancellationToken cancellationToken = default(CancellationToken))
 {
     return(this.Dispatcher.DispatchAsync <IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>(
                request,
                cancellationToken,
                (p, d, c) =>
     {
         var converter = CreateMultiSearchDeserializer(p);
         var serializer = this.ConnectionSettings.StatefulSerializer(converter);
         var creator = new MultiSearchCreator((r, s) => serializer.Deserialize <MultiSearchResponse>(s));
         request.RequestParameters.DeserializationOverride(creator);
         return this.LowLevelDispatch.MsearchDispatchAsync <MultiSearchResponse>(p, (object)p, c);
     }
                ));
 }
		/// <inheritdoc />
		public Task<IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request)
		{
			return this.Dispatcher.DispatchAsync<IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>(
				request,
				(p, d) =>
				{
					var converter = CreateMultiSearchDeserializer(p);
					var serializer = new NestSerializer(this.ConnectionSettings, converter);
					var json = serializer.SerializeToBytes(p).Utf8String();
					var creator = new MultiSearchCreator((r, s) => serializer.Deserialize<MultiSearchResponse>(s));
					request.RequestParameters.DeserializationOverride(creator);
					return this.LowLevelDispatch.MsearchDispatchAsync<MultiSearchResponse>(p, json);
				}
			);
		}
		/// <inheritdoc />
		public Task<IMultiSearchResponse> MultiSearchAsync(IMultiSearchRequest request, CancellationToken cancellationToken = default(CancellationToken))
		{
			return this.Dispatcher.DispatchAsync<IMultiSearchRequest, MultiSearchRequestParameters, MultiSearchResponse, IMultiSearchResponse>(
				request,
				cancellationToken,
				(p, d, c) =>
				{
					var converter = CreateMultiSearchDeserializer(p);
					var serializer = this.ConnectionSettings.StatefulSerializer(converter);
					var creator = new MultiSearchCreator((r, s) => serializer.Deserialize<MultiSearchResponse>(s));
					request.RequestParameters.DeserializationOverride(creator);
					return this.LowLevelDispatch.MsearchDispatchAsync<MultiSearchResponse>(p, (object)p, c);
				}
			);
		}