@@ -38,9 +38,11 @@ protected CatResponse<TCatRecord> DoCat<TRequest, TParams, TCatRecord>(TRequest
38
38
where TRequest : class , IRequest < TParams >
39
39
{
40
40
if ( typeof ( TCatRecord ) == typeof ( CatHelpRecord ) )
41
+ {
41
42
request . RequestParameters . CustomResponseBuilder = CatHelpResponseBuilder . Instance ;
42
- else
43
- request . RequestParameters . CustomResponseBuilder = CatResponseBuilder < TCatRecord > . Instance ;
43
+ return DoRequest < TRequest , CatResponse < TCatRecord > > ( request , request . RequestParameters , r => ElasticClient . ForceTextPlain ( r ) ) ;
44
+ }
45
+ request . RequestParameters . CustomResponseBuilder = CatResponseBuilder < TCatRecord > . Instance ;
44
46
return DoRequest < TRequest , CatResponse < TCatRecord > > ( request , request . RequestParameters , r => ElasticClient . ForceJson ( r ) ) ;
45
47
}
46
48
@@ -50,9 +52,11 @@ protected Task<CatResponse<TCatRecord>> DoCatAsync<TRequest, TParams, TCatRecord
50
52
where TRequest : class , IRequest < TParams >
51
53
{
52
54
if ( typeof ( TCatRecord ) == typeof ( CatHelpRecord ) )
55
+ {
53
56
request . RequestParameters . CustomResponseBuilder = CatHelpResponseBuilder . Instance ;
54
- else
55
- request . RequestParameters . CustomResponseBuilder = CatResponseBuilder < TCatRecord > . Instance ;
57
+ return DoRequestAsync < TRequest , CatResponse < TCatRecord > > ( request , request . RequestParameters , ct , r => ElasticClient . ForceTextPlain ( r ) ) ;
58
+ }
59
+ request . RequestParameters . CustomResponseBuilder = CatResponseBuilder < TCatRecord > . Instance ;
56
60
return DoRequestAsync < TRequest , CatResponse < TCatRecord > > ( request , request . RequestParameters , ct , r => ElasticClient . ForceJson ( r ) ) ;
57
61
}
58
62
@@ -103,6 +107,7 @@ internal TResponse DoRequest<TRequest, TResponse>(TRequest p, IRequestParameters
103
107
where TResponse : class , IElasticsearchResponse , new ( )
104
108
{
105
109
if ( forceConfiguration != null ) ForceConfiguration ( p , forceConfiguration ) ;
110
+ if ( p . ContentType != null ) ForceContentType ( p , p . ContentType ) ;
106
111
107
112
var url = p . GetUrl ( ConnectionSettings ) ;
108
113
var b = ( p . HttpMethod == HttpMethod . GET || p . HttpMethod == HttpMethod . HEAD ) ? null : new SerializableData < TRequest > ( p ) ;
@@ -120,6 +125,7 @@ internal Task<TResponse> DoRequestAsync<TRequest, TResponse>(
120
125
where TResponse : class , IElasticsearchResponse , new ( )
121
126
{
122
127
if ( forceConfiguration != null ) ForceConfiguration ( p , forceConfiguration ) ;
128
+ if ( p . ContentType != null ) ForceContentType ( p , p . ContentType ) ;
123
129
124
130
var url = p . GetUrl ( ConnectionSettings ) ;
125
131
var b = ( p . HttpMethod == HttpMethod . GET || p . HttpMethod == HttpMethod . HEAD ) ? null : new SerializableData < TRequest > ( p ) ;
@@ -130,16 +136,29 @@ internal Task<TResponse> DoRequestAsync<TRequest, TResponse>(
130
136
private static void ForceConfiguration ( IRequest request , Action < IRequestConfiguration > forceConfiguration )
131
137
{
132
138
if ( forceConfiguration == null ) return ;
139
+
133
140
var configuration = request . RequestParameters . RequestConfiguration ?? new RequestConfiguration ( ) ;
134
141
forceConfiguration ( configuration ) ;
135
142
request . RequestParameters . RequestConfiguration = configuration ;
136
143
}
144
+ private void ForceContentType < TRequest > ( TRequest request , string contentType ) where TRequest : class , IRequest
145
+ {
146
+ var configuration = request . RequestParameters . RequestConfiguration ?? new RequestConfiguration ( ) ;
147
+ configuration . Accept = contentType ;
148
+ configuration . ContentType = contentType ;
149
+ request . RequestParameters . RequestConfiguration = configuration ;
150
+ }
137
151
138
152
internal static void ForceJson ( IRequestConfiguration requestConfiguration )
139
153
{
140
154
requestConfiguration . Accept = RequestData . MimeType ;
141
155
requestConfiguration . ContentType = RequestData . MimeType ;
142
156
}
157
+ internal static void ForceTextPlain ( IRequestConfiguration requestConfiguration )
158
+ {
159
+ requestConfiguration . Accept = RequestData . MimeTypeTextPlain ;
160
+ requestConfiguration . ContentType = RequestData . MimeTypeTextPlain ;
161
+ }
143
162
144
163
internal IRequestParameters ResponseBuilder ( SourceRequestParameters parameters , CustomResponseBuilderBase builder )
145
164
{
0 commit comments