Skip to content

Commit 6831d2d

Browse files
committed
Removed separate deserialization of BaseResponse's through ToParsedResponse, everything flows to Deserialize noticed after writing PR notes for #349
1 parent 757b279 commit 6831d2d

36 files changed

+85
-73
lines changed

Diff for: src/Nest.Tests.Integration/IntegrationTests.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ protected IQueryResponse<T> SearchRaw<T>(string query) where T : class
3636
var index = this._client.GetIndexNameFor<T>();
3737
var typeName = this._client.GetTypeNameFor<T>();
3838
var connectionStatus = this._client.Raw.SearchPost(index, typeName, query);
39-
return connectionStatus.ToParsedResponse<QueryResponse<T>>();
39+
return connectionStatus.Deserialize<QueryResponse<T>>();
4040
}
4141

4242
public void DoFilterTest(Func<FilterDescriptor<ElasticSearchProject>, Nest.BaseFilter> filter, ElasticSearchProject project, bool queryMustHaveResults)

Diff for: src/Nest/Domain/Connection/ConnectionStatus.cs

+4-2
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,11 @@ public ConnectionStatus(IConnectionSettings settings, string result) : this(sett
6161
/// Returns a response of type R based on the connection status by trying parsing status.Result into R
6262
/// </summary>
6363
/// <returns></returns>
64-
public virtual R ToParsedResponse<R>(bool allow404 = false, IEnumerable<JsonConverter> extraConverters = null) where R : BaseResponse
64+
public virtual T Deserialize<T>(IEnumerable<JsonConverter> extraConverters = null, bool allow404 = false) where T : class
6565
{
66-
return this._elasticSerializer.ToParsedResponse<R>(this, allow404, extraConverters);
66+
if (typeof(BaseResponse).IsAssignableFrom(typeof(T)))
67+
return this._elasticSerializer.Deserialize<T>(this, extraConverters, allow404);
68+
return this._elasticSerializer.Deserialize<T>(this.Result, extraConverters, allow404);
6769
}
6870

6971
public override string ToString()

Diff for: src/Nest/ElasticClient-Aliases.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ private IndicesOperationResponse _Alias(string query)
202202
query = _aliasBody.F(query);
203203
var status = this.Connection.PostSync(path, query);
204204

205-
var r = this.ToParsedResponse<IndicesOperationResponse>(status);
205+
var r = this.Deserialize<IndicesOperationResponse>(status);
206206
return r;
207207
}
208208
}

Diff for: src/Nest/ElasticClient-Analyze.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ private AnalyzeResponse _Analyze(AnalyzeParams analyzeParams, string text)
6464
}
6565

6666
var status = this.Connection.GetSync(path);
67-
var r = this.ToParsedResponse<AnalyzeResponse>(status);
67+
var r = this.Deserialize<AnalyzeResponse>(status);
6868
return r;
6969
}
7070
}

Diff for: src/Nest/ElasticClient-Bulk.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public IBulkResponse Bulk(BulkDescriptor bulkDescriptor)
6666
path = bulkDescriptor._FixedIndex + "/" + path;
6767
}
6868
var status = this.Connection.PostSync(path, json);
69-
return this.ToParsedResponse<BulkResponse>(status);
69+
return this.Deserialize<BulkResponse>(status);
7070
}
7171

7272
internal string GenerateBulkIndexCommand<T>(IEnumerable<T> objects) where T : class

Diff for: src/Nest/ElasticClient-Count.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public ICountResponse Count<T>(IEnumerable<string> indices, IEnumerable<string>
127127
private CountResponse _Count(string path, string query)
128128
{
129129
var status = this.Connection.PostSync(path, query);
130-
var r = this.ToParsedResponse<CountResponse>(status);
130+
var r = this.Deserialize<CountResponse>(status);
131131
return r;
132132
}
133133

Diff for: src/Nest/ElasticClient-CreateIndex.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public IIndicesOperationResponse CreateIndex(string index, IndexSettings setting
1818
string data = this.Serialize(settings);
1919
string path = this.PathResolver.CreateIndexPath(index);
2020
var status = this.Connection.PostSync(path, data);
21-
return this.ToParsedResponse<IndicesOperationResponse>(status);
21+
return this.Deserialize<IndicesOperationResponse>(status);
2222
}
2323

2424
/// <summary>

Diff for: src/Nest/ElasticClient-Delete.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -119,41 +119,41 @@ private IDeleteResponse _deleteToPath(string path)
119119
{
120120
path.ThrowIfNull("path");
121121
var status = this.Connection.DeleteSync(path);
122-
return this.ToParsedResponse<DeleteResponse>(status);
122+
return this.Deserialize<DeleteResponse>(status);
123123
}
124124

125125
private IDeleteResponse _deleteToPath(string path, string data)
126126
{
127127
path.ThrowIfNull("path");
128128
var status = this.Connection.DeleteSync(path, data);
129-
return this.ToParsedResponse<DeleteResponse>(status);
129+
return this.Deserialize<DeleteResponse>(status);
130130
}
131131

132132
private IBulkResponse _deleteToBulkPath(string path, string data)
133133
{
134134
path.ThrowIfNull("path");
135135
var status = this.Connection.PostSync(path, data);
136-
return this.ToParsedResponse<BulkResponse>(status);
136+
return this.Deserialize<BulkResponse>(status);
137137
}
138138

139139
private Task<IDeleteResponse> _deleteToPathAsync(string path)
140140
{
141141
path.ThrowIfNull("path");
142142
var task = this.Connection.Delete(path);
143-
return task.ContinueWith<IDeleteResponse>(t => this.ToParsedResponse<DeleteResponse>(t.Result));
143+
return task.ContinueWith<IDeleteResponse>(t => this.Deserialize<DeleteResponse>(t.Result));
144144
}
145145

146146
private Task<IDeleteResponse> _deleteToPathAsync(string path, string data)
147147
{
148148
path.ThrowIfNull("path");
149149
var task = this.Connection.Delete(path, data);
150-
return task.ContinueWith<IDeleteResponse>(t => this.ToParsedResponse<DeleteResponse>(t.Result));
150+
return task.ContinueWith<IDeleteResponse>(t => this.Deserialize<DeleteResponse>(t.Result));
151151
}
152152
private Task<IBulkResponse> _deleteToBulkPathAsync(string path, string data)
153153
{
154154
path.ThrowIfNull("path");
155155
var task = this.Connection.Post(path, data);
156-
return task.ContinueWith<IBulkResponse>(t => this.ToParsedResponse<BulkResponse>(t.Result));
156+
return task.ContinueWith<IBulkResponse>(t => this.Deserialize<BulkResponse>(t.Result));
157157
}
158158
}
159159
}

Diff for: src/Nest/ElasticClient-Flush.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public IIndicesOperationResponse Flush(IEnumerable<string> indices, bool refresh
5252
private IndicesOperationResponse _Flush(string path)
5353
{
5454
var status = this.Connection.PostSync(path, "");
55-
var r = this.ToParsedResponse<IndicesOperationResponse>(status);
55+
var r = this.Deserialize<IndicesOperationResponse>(status);
5656
return r;
5757
}
5858
}

Diff for: src/Nest/ElasticClient-GetFull.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public IGetResponse<T> GetFull<T>(Action<GetDescriptor<T>> getSelector) where T
6868
private IGetResponse<T> _GetFull<T>(string path) where T : class
6969
{
7070
var response = this.Connection.GetSync(path);
71-
var getResponse = this.ToParsedResponse<GetResponse<T>>(response);
71+
var getResponse = this.Deserialize<GetResponse<T>>(response);
7272

7373
if (response.Result != null)
7474
{

Diff for: src/Nest/ElasticClient-Health.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ private HealthResponse _Health(string path, HealthParams healthParams)
6464
path += "&wait_for_relocating_shards=" + healthParams.WaitForRelocatingShards;
6565

6666
var status = this.Connection.GetSync(path);
67-
var r = this.ToParsedResponse<HealthResponse>(status);
67+
var r = this.Deserialize<HealthResponse>(status);
6868
return r;
6969
}
7070
}

Diff for: src/Nest/ElasticClient-Index.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -423,26 +423,26 @@ private IIndexResponse _indexToPath<T>(T @object, string path) where T : class
423423
string json = this.Serializer.Serialize(@object, Formatting.Indented);
424424

425425
var status = this.Connection.PostSync(path, json);
426-
return this.ToParsedResponse<IndexResponse>(status);
426+
return this.Deserialize<IndexResponse>(status);
427427
}
428428

429429
private Task<IIndexResponse> _indexAsyncToPath<T>(T @object, string path) where T : class
430430
{
431431
string json = this.Serializer.Serialize(@object, Formatting.None);
432432
var postTask = this.Connection.Post(path, json);
433-
return postTask.ContinueWith<IIndexResponse>(t => this.ToParsedResponse<IndexResponse>(t.Result));
433+
return postTask.ContinueWith<IIndexResponse>(t => this.Deserialize<IndexResponse>(t.Result));
434434
}
435435

436436
private IBulkResponse _indexManyToPath(string path, string json)
437437
{
438438
var status = this.Connection.PostSync(path, json);
439-
return this.ToParsedResponse<BulkResponse>(status);
439+
return this.Deserialize<BulkResponse>(status);
440440
}
441441

442442
private Task<IBulkResponse> _indexManyAsyncToPath(string path, string json)
443443
{
444444
var postTask = this.Connection.Post(path, json);
445-
return postTask.ContinueWith<IBulkResponse>(t => this.ToParsedResponse<BulkResponse>(t.Result));
445+
return postTask.ContinueWith<IBulkResponse>(t => this.Deserialize<BulkResponse>(t.Result));
446446
}
447447
}
448448
}

Diff for: src/Nest/ElasticClient-MappingDelete.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public IIndicesResponse DeleteMapping<T>(string index, string type) where T : cl
3232
string path = this.PathResolver.CreateIndexTypePath(index, type);
3333

3434
ConnectionStatus status = this.Connection.DeleteSync(path);
35-
return this.ToParsedResponse<IndicesResponse>(status, allow404: true);
35+
return this.Deserialize<IndicesResponse>(status, allow404: true);
3636
}
3737

3838
/// <summary>

Diff for: src/Nest/ElasticClient-MappingIndex.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ public IIndicesResponse DeleteIndex(string index)
118118
string path = this.PathResolver.CreateIndexPath(index);
119119

120120
var status = this.Connection.DeleteSync(path);
121-
var r = this.ToParsedResponse<IndicesResponse>(status);
121+
var r = this.Deserialize<IndicesResponse>(status);
122122
return r;
123123
}
124124

Diff for: src/Nest/ElasticClient-MappingType.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public IIndicesResponse Map(RootObjectMapping typeMapping, string index, string
128128
path += "?ignore_conflicts=true";
129129
ConnectionStatus status = this.Connection.PutSync(path, map);
130130

131-
var r = this.ToParsedResponse<IndicesResponse>(status);
131+
var r = this.Deserialize<IndicesResponse>(status);
132132
return r;
133133
}
134134

Diff for: src/Nest/ElasticClient-MoreLikeThis.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public IQueryResponse<T> MoreLikeThis<T>(Func<MoreLikeThisDescriptor<T>, MoreLik
2626
var search = this.Serialize(descriptor._Search);
2727
status = this.Connection.PostSync(path, search);
2828
}
29-
return this.ToParsedResponse<QueryResponse<T>>(status, extraConverters: new List<JsonConverter>
29+
return this.Deserialize<QueryResponse<T>>(status, extraConverters: new List<JsonConverter>
3030
{
3131
new ConcreteTypeConverter(typeof (T), (d, h) => typeof (T))
3232
});

Diff for: src/Nest/ElasticClient-MultiGet.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public MultiGetResponse MultiGetFull(Action<MultiGetDescriptor> multiGetSelector
7171
var response = _multiGetUsingDescriptor(multiGetSelector, out descriptor);
7272

7373
var multiGetHitConverter = new MultiGetHitConverter(descriptor);
74-
var multiGetResponse = this.ToParsedResponse<MultiGetResponse>(response, extraConverters: new List<JsonConverter> { multiGetHitConverter });
74+
var multiGetResponse = this.Deserialize<MultiGetResponse>(response, extraConverters: new List<JsonConverter> { multiGetHitConverter });
7575

7676
return multiGetResponse;
7777
}

Diff for: src/Nest/ElasticClient-MultiSearch.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public MultiSearchResponse MultiSearch(MultiSearchDescriptor multiSearchDescript
6363
var status = this.Connection.PostSync(path, json);
6464

6565
var multiSearchConverter = new MultiSearchConverter(this._connectionSettings, multiSearchDescriptor);
66-
var multiSearchResponse = this.ToParsedResponse<MultiSearchResponse>(status,
66+
var multiSearchResponse = this.Deserialize<MultiSearchResponse>(status,
6767
extraConverters: new List<JsonConverter>
6868
{
6969
multiSearchConverter

Diff for: src/Nest/ElasticClient-Nodes.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ private NodeInfoResponse _NodeInfo(string path, NodesInfo nodesInfo)
5353
path += "?" + string.Join("&", options);
5454
}
5555
var status = this.Connection.GetSync(path);
56-
var r = this.ToParsedResponse<NodeInfoResponse>(status);
56+
var r = this.Deserialize<NodeInfoResponse>(status);
5757
return r;
5858
}
5959

@@ -105,7 +105,7 @@ private NodeStatsResponse _NodeStats(string path, NodeInfoStats nodeInfoStats)
105105
path += "?" + string.Join("&", options);
106106
}
107107
var status = this.Connection.GetSync(path);
108-
var r = this.ToParsedResponse<NodeStatsResponse>(status);
108+
var r = this.Deserialize<NodeStatsResponse>(status);
109109
return r;
110110
}
111111
}

Diff for: src/Nest/ElasticClient-OpenClose.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public IIndicesOperationResponse CloseIndex<T>() where T : class
4141
private IndicesOperationResponse _OpenClose(string path)
4242
{
4343
var status = this.Connection.PostSync(path, "");
44-
var r = this.ToParsedResponse<IndicesOperationResponse>(status);
44+
var r = this.Deserialize<IndicesOperationResponse>(status);
4545
return r;
4646
}
4747

Diff for: src/Nest/ElasticClient-Optimize.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ private IndicesOperationResponse _Optimize(string path, OptimizeParams optimizeP
8282
path += "&wait_for_merge=" + optimizeParameters.WaitForMerge.ToString().ToLower();
8383
}
8484
var status = this.Connection.PostSync(path, "");
85-
var r = this.ToParsedResponse<IndicesOperationResponse>(status);
85+
var r = this.Deserialize<IndicesOperationResponse>(status);
8686
return r;
8787
}
8888

Diff for: src/Nest/ElasticClient-Percolate.cs

+5-5
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public IUnregisterPercolateResponse UnregisterPercolator(string index, string na
2828
private UnregisterPercolateResponse _UnregisterPercolator(string path)
2929
{
3030
var status = this.Connection.DeleteSync(path);
31-
var r = this.ToParsedResponse<UnregisterPercolateResponse>(status, allow404: true);
31+
var r = this.Deserialize<UnregisterPercolateResponse>(status, allow404: true);
3232
return r;
3333
}
3434

@@ -37,7 +37,7 @@ public IRegisterPercolateResponse RegisterPercolator<T>(
3737
{
3838
var pathAndData = this._registerPercolator(percolatorSelector);
3939
var status = this.Connection.PutSync(pathAndData.Path, pathAndData.Data);
40-
var r = this.ToParsedResponse<RegisterPercolateResponse>(status);
40+
var r = this.Deserialize<RegisterPercolateResponse>(status);
4141
return r;
4242
}
4343

@@ -48,7 +48,7 @@ public Task<IRegisterPercolateResponse> RegisterPercolatorAsync<T>(
4848
var pathAndData = this._registerPercolator(percolatorSelector);
4949
return this.Connection.Put(pathAndData.Path, pathAndData.Data).ContinueWith(c =>
5050
{
51-
var r = this.ToParsedResponse<RegisterPercolateResponse>(c.Result);
51+
var r = this.Deserialize<RegisterPercolateResponse>(c.Result);
5252
return (IRegisterPercolateResponse)r;
5353
});
5454

@@ -73,7 +73,7 @@ public IPercolateResponse Percolate<T>(
7373
{
7474
var pathAndData = this._percolate(percolateSelector);
7575
var status = this.Connection.PostSync(pathAndData.Path, pathAndData.Data);
76-
var r = this.ToParsedResponse<PercolateResponse>(status);
76+
var r = this.Deserialize<PercolateResponse>(status);
7777
return r;
7878
}
7979

@@ -85,7 +85,7 @@ public Task<IPercolateResponse> PercolateAsync<T>(
8585
var pathAndData = this._percolate(percolateSelector);
8686
var status = this.Connection.Post(pathAndData.Path, pathAndData.Data).ContinueWith(c =>
8787
{
88-
var r = this.ToParsedResponse<PercolateResponse>(c.Result);
88+
var r = this.Deserialize<PercolateResponse>(c.Result);
8989
return (IPercolateResponse)r;
9090
});
9191
return status;

Diff for: src/Nest/ElasticClient-Refresh.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public IIndicesShardResponse Refresh<T>() where T : class
4242
private IndicesShardResponse _Refresh(string path)
4343
{
4444
var status = this.Connection.GetSync(path);
45-
var r = this.ToParsedResponse<IndicesShardResponse>(status);
45+
var r = this.Deserialize<IndicesShardResponse>(status);
4646
return r;
4747
}
4848

Diff for: src/Nest/ElasticClient-Scroll.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public IQueryResponse<T> Scroll<T>(string scrollTime, string scrollId) where T :
2424
var path = "_search/scroll?scroll={0}".F(scrollTime);
2525

2626
ConnectionStatus status = this.Connection.PostSync(path, scrollId);
27-
var r = this.ToParsedResponse<QueryResponse<T>>(status
27+
var r = this.Deserialize<QueryResponse<T>>(status
2828
, extraConverters: new[] { new ConcreteTypeConverter(typeof(T), (d, h) => typeof(T)) }
2929
);
3030
return r;

Diff for: src/Nest/ElasticClient-Search.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -173,8 +173,8 @@ private IQueryResponse<TResult> GetParsedResponse<T, TResult>(ConnectionStatus s
173173

174174

175175
if (descriptor._ConcreteTypeSelector == null)
176-
return this.ToParsedResponse<QueryResponse<TResult>>(status);
177-
return this.ToParsedResponse<QueryResponse<TResult>>(
176+
return this.Deserialize<QueryResponse<TResult>>(status);
177+
return this.Deserialize<QueryResponse<TResult>>(
178178
status,
179179

180180
extraConverters: new[]

Diff for: src/Nest/ElasticClient-Segments.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public ISegmentsResponse Segments(IEnumerable<string> indices)
2929
private SegmentsResponse _Segments(string path)
3030
{
3131
var status = this.Connection.GetSync(path);
32-
var r = this.ToParsedResponse<SegmentsResponse>(status);
32+
var r = this.Deserialize<SegmentsResponse>(status);
3333
return r;
3434
}
3535
}

Diff for: src/Nest/ElasticClient-Snapshot.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public IIndicesShardResponse Snapshot(IEnumerable<string> indices)
4141
private IndicesShardResponse _Snapshot(string path)
4242
{
4343
var status = this.Connection.PostSync(path, "");
44-
var r = this.ToParsedResponse<IndicesShardResponse>(status);
44+
var r = this.Deserialize<IndicesShardResponse>(status);
4545
return r;
4646
}
4747

Diff for: src/Nest/ElasticClient-State.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public IClusterStateResponse ClusterState(ClusterStateInfo stateInfo, IEnumerabl
3030
path += "?" + string.Join("&", options);
3131

3232
var status = this.Connection.GetSync(path);
33-
var r = this.ToParsedResponse<ClusterStateResponse>(status);
33+
var r = this.Deserialize<ClusterStateResponse>(status);
3434
return r;
3535
}
3636
}

Diff for: src/Nest/ElasticClient-Statics.cs

+3-6
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@ private string Serialize(object @object)
1717
return this.Serializer.Serialize(@object);
1818
}
1919

20-
private T Deserialize<T>(string value, IEnumerable<JsonConverter> extraConverters = null)
21-
{
22-
return this.Serializer.Deserialize<T>(value, extraConverters);
23-
}
20+
2421

2522
public string GetTypeNameFor<T>()
2623
{
@@ -42,9 +39,9 @@ public string GetIndexNameFor(Type type)
4239
return this.IndexNameResolver.GetIndexForType(type);
4340
}
4441

45-
protected virtual R ToParsedResponse<R>(ConnectionStatus status, bool allow404 = false, IEnumerable<JsonConverter> extraConverters = null) where R : BaseResponse
42+
protected virtual T Deserialize<T>(object value,IEnumerable<JsonConverter> extraConverters = null, bool allow404 = false) where T : class
4643
{
47-
return this.Serializer.ToParsedResponse<R>(status, allow404, extraConverters);
44+
return this.Serializer.Deserialize<T>(value, extraConverters, allow404);
4845
}
4946

5047
private string ResolveTypeName(TypeNameMarker typeNameMarker, string defaultIndexName = null)

0 commit comments

Comments
 (0)