コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }