internal JsonSerializerSettings CreateSettings(SerializationFormatting formatting, JsonConverter piggyBackJsonConverter = null) { var piggyBackState = new JsonConverterPiggyBackState { ActualJsonConverter = piggyBackJsonConverter }; var settings = new JsonSerializerSettings() { Formatting = formatting == SerializationFormatting.Indented ? Formatting.Indented : Formatting.None, ContractResolver = new ElasticContractResolver(this._settings), DefaultValueHandling = DefaultValueHandling.Include, NullValueHandling = NullValueHandling.Ignore }; _settings.ModifyJsonSerializerSettings?.Invoke(settings); var contract = settings.ContractResolver as ElasticContractResolver; if (contract == null) { throw new Exception($"NEST needs an instance of {nameof(ElasticContractResolver)} registered on Json.NET's JsonSerializerSettings"); } contract.PiggyBackState = piggyBackState; return(settings); }
internal JsonSerializerSettings CreateSettings(IList <JsonConverter> extraConverters = null, JsonConverter piggyBackJsonConverter = null) { var converters = extraConverters.HasAny() ? extraConverters.ToList() : null; var piggyBackState = new JsonConverterPiggyBackState { ActualJsonConverter = piggyBackJsonConverter }; var settings = new JsonSerializerSettings() { ContractResolver = new ElasticContractResolver(this._settings) { PiggyBackState = piggyBackState }, DefaultValueHandling = DefaultValueHandling.Include, NullValueHandling = NullValueHandling.Ignore, Converters = converters, }; if (_settings.ModifyJsonSerializerSettings != null) { _settings.ModifyJsonSerializerSettings(settings); } return(settings); }
internal JsonSerializerSettings CreateSettings(JsonConverter piggyBackJsonConverter = null) { var piggyBackState = new JsonConverterPiggyBackState { ActualJsonConverter = piggyBackJsonConverter }; var settings = new JsonSerializerSettings() { ContractResolver = new ElasticContractResolver(this._settings) { PiggyBackState = piggyBackState }, DefaultValueHandling = DefaultValueHandling.Include, NullValueHandling = NullValueHandling.Ignore }; if (_settings.ModifyJsonSerializerSettings != null) { _settings.ModifyJsonSerializerSettings(settings); } return(settings); }