Skip to content

Commit 192362d

Browse files
committed
Avoid indented formatting for IStreamSerializable
1 parent 525b781 commit 192362d

File tree

5 files changed

+36
-15
lines changed

5 files changed

+36
-15
lines changed

src/Elastic.Clients.Elasticsearch/Api/BulkRequest.cs

+20-8
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,14 @@ public void Serialize(Stream stream, IElasticsearchClientSettings settings, Seri
3434
foreach (var op in Operations)
3535
{
3636
if (op is not IStreamSerializable serializable)
37-
throw new InvalidOperationException("");
37+
{
38+
ThrowHelper.ThrowInvalidOperationForBulkWhenNotIStreamSerializable();
39+
return;
40+
}
3841

3942
op.PrepareIndex(index);
4043

41-
serializable.Serialize(stream, settings, formatting);
44+
serializable.Serialize(stream, settings, SerializationFormatting.None);
4245
stream.WriteByte((byte)'\n');
4346
}
4447
}
@@ -53,11 +56,14 @@ public async Task SerializeAsync(Stream stream, IElasticsearchClientSettings set
5356
foreach (var op in Operations)
5457
{
5558
if (op is not IStreamSerializable serializable)
56-
throw new InvalidOperationException("");
59+
{
60+
ThrowHelper.ThrowInvalidOperationForBulkWhenNotIStreamSerializable();
61+
return;
62+
}
5763

5864
op.PrepareIndex(index);
5965

60-
await serializable.SerializeAsync(stream, settings, formatting).ConfigureAwait(false);
66+
await serializable.SerializeAsync(stream, settings, SerializationFormatting.None).ConfigureAwait(false);
6167
stream.WriteByte((byte)'\n');
6268
}
6369
}
@@ -200,11 +206,14 @@ public void Serialize(Stream stream, IElasticsearchClientSettings settings, Seri
200206
foreach (var op in _operations)
201207
{
202208
if (op is not IStreamSerializable serializable)
203-
throw new InvalidOperationException("");
209+
{
210+
ThrowHelper.ThrowInvalidOperationForBulkWhenNotIStreamSerializable();
211+
return;
212+
}
204213

205214
op.PrepareIndex(index);
206215

207-
serializable.Serialize(stream, settings, formatting);
216+
serializable.Serialize(stream, settings, SerializationFormatting.None);
208217
stream.WriteByte((byte)'\n');
209218
}
210219
}
@@ -219,11 +228,14 @@ public async Task SerializeAsync(Stream stream, IElasticsearchClientSettings set
219228
foreach (var op in _operations)
220229
{
221230
if (op is not IStreamSerializable serializable)
222-
throw new InvalidOperationException("");
231+
{
232+
ThrowHelper.ThrowInvalidOperationForBulkWhenNotIStreamSerializable();
233+
return;
234+
}
223235

224236
op.PrepareIndex(index);
225237

226-
await serializable.SerializeAsync(stream, settings, formatting).ConfigureAwait(false);
238+
await serializable.SerializeAsync(stream, settings, SerializationFormatting.None).ConfigureAwait(false);
227239
stream.WriteByte((byte)'\n');
228240
}
229241
}

src/Elastic.Clients.Elasticsearch/Core/Exceptions/ThrowHelper.cs

+3
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,7 @@ internal static void ThrowInvalidOperationException(string message) =>
2828

2929
[MethodImpl(MethodImplOptions.NoInlining)]
3030
internal static void ThrowJsonExceptionForMissingSettings() => throw new JsonException("Unable to retrieve client settings for JsonSerializerOptions.");
31+
32+
[MethodImpl(MethodImplOptions.NoInlining)]
33+
internal static void ThrowInvalidOperationForBulkWhenNotIStreamSerializable() => throw new InvalidOperationException("Operation must implement IStreamSerializable.");
3134
}

src/Elastic.Clients.Elasticsearch/Serialization/DefaultRequestResponseSerializer.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public override void Serialize<T>(T data, Stream writableStream,
6060
{
6161
if (data is IStreamSerializable streamSerializable)
6262
{
63-
streamSerializable.Serialize(writableStream, _settings, formatting);
63+
streamSerializable.Serialize(writableStream, _settings, SerializationFormatting.None);
6464
return;
6565
}
6666

@@ -73,7 +73,7 @@ public override Task SerializeAsync<T>(T data, Stream stream,
7373
{
7474
if (data is IStreamSerializable streamSerializable)
7575
{
76-
return streamSerializable.SerializeAsync(stream, _settings, formatting);
76+
return streamSerializable.SerializeAsync(stream, _settings, SerializationFormatting.None);
7777
}
7878

7979
return base.SerializeAsync(data, stream, formatting, cancellationToken);

src/Elastic.Clients.Elasticsearch/Serialization/IStreamSerializable.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Elastic.Clients.Elasticsearch.Serialization;
1010

1111
/// <summary>
12-
/// Used to mark types which expect to directly serialise into a stream. This supports non-json compliant output such as NDJSON.
12+
/// Used to mark types which expect to directly serialize into a stream. This supports non-json compliant output such as NDJSON.
1313
/// </summary>
1414
internal interface IStreamSerializable
1515
{

src/Elastic.Clients.Elasticsearch/Types/Core/Bulk/BulkOperationsCollection.cs

+10-4
Original file line numberDiff line numberDiff line change
@@ -235,9 +235,12 @@ public void Serialize(Stream stream, IElasticsearchClientSettings settings, Seri
235235
foreach (var op in this)
236236
{
237237
if (op is not IStreamSerializable serializable)
238-
throw new InvalidOperationException("");
238+
{
239+
ThrowHelper.ThrowInvalidOperationForBulkWhenNotIStreamSerializable();
240+
return;
241+
}
239242

240-
serializable.Serialize(stream, settings, formatting);
243+
serializable.Serialize(stream, settings, SerializationFormatting.None);
241244
stream.WriteByte((byte)'\n');
242245
}
243246
}
@@ -247,9 +250,12 @@ public async Task SerializeAsync(Stream stream, IElasticsearchClientSettings set
247250
foreach (var op in this)
248251
{
249252
if (op is not IStreamSerializable serializable)
250-
throw new InvalidOperationException("");
253+
{
254+
ThrowHelper.ThrowInvalidOperationForBulkWhenNotIStreamSerializable();
255+
return;
256+
}
251257

252-
await serializable.SerializeAsync(stream, settings, formatting).ConfigureAwait(false);
258+
await serializable.SerializeAsync(stream, settings, SerializationFormatting.None).ConfigureAwait(false);
253259
stream.WriteByte((byte)'\n');
254260
}
255261
}

0 commit comments

Comments
 (0)