public static string SerializeToString <T>( this IElasticsearchSerializer serializer, T data, IMemoryStreamFactory memoryStreamFactory = null, SerializationFormatting formatting = SerializationFormatting.Indented ) => serializer.SerializeToBytes(data, memoryStreamFactory, formatting).Utf8String();
internal static void SerializeUsingWriter <T>(this IElasticsearchSerializer serializer, ref JsonWriter writer, T body, IConnectionConfigurationValues settings, SerializationFormatting formatting) { if (serializer is IInternalSerializer s && s.TryGetJsonFormatter(out var formatterResolver)) { JsonSerializer.Serialize(ref writer, body, formatterResolver); return; } var memoryStreamFactory = settings.MemoryStreamFactory; var bodyBytes = serializer.SerializeToBytes(body, memoryStreamFactory, formatting); writer.WriteRaw(bodyBytes); }
public static ConnectionSettings CreateConnectionSettings( object response, int statusCode = 200, Func <ConnectionSettings, ConnectionSettings> modifySettings = null, string contentType = RequestData.MimeType, Exception exception = null, IElasticsearchSerializer serializer = null ) { serializer ??= TestClient.Default.RequestResponseSerializer; byte[] responseBytes; switch (response) { case string s: responseBytes = Encoding.UTF8.GetBytes(s); break; case byte[] b: responseBytes = b; break; default: { responseBytes = contentType == RequestData.MimeType ? serializer.SerializeToBytes(response, TestClient.Default.ConnectionSettings.MemoryStreamFactory) : Encoding.UTF8.GetBytes(response.ToString()); break; } } var connection = new InMemoryConnection(responseBytes, statusCode, exception, contentType); var connectionPool = new SingleNodeConnectionPool(new Uri("http://localhost:9200")); var defaultSettings = new ConnectionSettings(connectionPool, connection) .DefaultIndex("default-index"); var settings = modifySettings != null?modifySettings(defaultSettings) : defaultSettings; return(settings); }
public static string SerializeToString(this IElasticsearchSerializer serializer, object data, SerializationFormatting formatting = SerializationFormatting.Indented) => serializer.SerializeToBytes(data, formatting).Utf8String();