protected ConnectionSettingsBase( IConnectionPool connectionPool, IConnection connection, ConnectionSettings.SourceSerializerFactory sourceSerializerFactory, IPropertyMappingProvider propertyMappingProvider ) : base(connectionPool, connection, null, NestElasticsearchProductRegistration.DefaultForNest) { var formatterResolver = new NestFormatterResolver(this); var defaultSerializer = new DefaultHighLevelSerializer(formatterResolver); var sourceSerializer = sourceSerializerFactory?.Invoke(defaultSerializer, this) ?? defaultSerializer; var serializerAsMappingProvider = sourceSerializer as IPropertyMappingProvider; _propertyMappingProvider = propertyMappingProvider ?? serializerAsMappingProvider ?? new PropertyMappingProvider(); //We wrap these in an internal proxy to facilitate serialization diagnostics _sourceSerializer = new JsonFormatterAwareDiagnosticsSerializerProxy(sourceSerializer, "source"); UseThisRequestResponseSerializer = new JsonFormatterAwareDiagnosticsSerializerProxy(defaultSerializer); _defaultFieldNameInferrer = p => p.ToCamelCase(); _defaultIndices = new FluentDictionary <Type, string>(); _defaultRelationNames = new FluentDictionary <Type, string>(); _inferrer = new Inferrer(this); UserAgent(ConnectionSettings.DefaultUserAgent); }
protected ConnectionSettingsBase( IConnectionPool connectionPool, IConnection connection, ConnectionSettings.SourceSerializerFactory sourceSerializerFactory, IPropertyMappingProvider propertyMappingProvider ) : base(connectionPool, connection, null) { var formatterResolver = new NestFormatterResolver(this); //Utf8Json.JsonSerializer.SetDefaultResolver(formatterResolver); var defaultSerializer = new InternalSerializer(this, formatterResolver); _sourceSerializer = sourceSerializerFactory?.Invoke(defaultSerializer, this) ?? defaultSerializer; UseThisRequestResponseSerializer = defaultSerializer; var serializerAsMappingProvider = _sourceSerializer as IPropertyMappingProvider; _propertyMappingProvider = propertyMappingProvider ?? serializerAsMappingProvider ?? new PropertyMappingProvider(); _defaultFieldNameInferrer = p => p.ToCamelCase(); _defaultIndices = new FluentDictionary <Type, string>(); _defaultTypeNames = new FluentDictionary <Type, string>(); _defaultRelationNames = new FluentDictionary <Type, string>(); _inferrer = new Inferrer(this); }