Пример #1
0
        T Headers.Get <T>(string key, T defaultValue)
        {
            if (key == null)
            {
                throw new ArgumentNullException(nameof(key));
            }

            object obj;

            if (!_provider.TryGetHeader(key, out obj))
            {
                return(defaultValue);
            }

            if (obj == null)
            {
                return(defaultValue);
            }

            JToken token = obj as JToken ?? new JValue(obj);

            if (token.Type == JTokenType.Null)
            {
                return(defaultValue);
            }

            using (JsonReader jsonReader = token.CreateReader())
                return((T)_deserializer.Deserialize(jsonReader, typeof(T)) ?? defaultValue);
        }
Пример #2
0
        bool Headers.TryGetHeader(string key, out object value)
        {
            if (key == null)
            {
                throw new ArgumentNullException(nameof(key));
            }

            return(_provider.TryGetHeader(key, out value));
        }
        T IObjectTypeDeserializer.Deserialize <T>(IHeaderProvider dictionary, string key, T defaultValue)
        {
            if (!dictionary.TryGetHeader(key, out var value))
            {
                return(defaultValue);
            }
            //                throw new KeyNotFoundException($"The key was not present: {key}");

            return(Deserialize <T>(value));
        }
Пример #4
0
 T IObjectTypeDeserializer.Deserialize <T>(IHeaderProvider dictionary, string key, T defaultValue)
 {
     return(dictionary.TryGetHeader(key, out var value)
         ? Deserialize <T>(value)
         : defaultValue);
 }