protected OperationResponse(HttpResponseMessage message, ITypeSerializerRegistry typeSerializerRegistry) { Message = message ?? throw new ArgumentNullException(nameof(message)); TypeSerializerRegistry = typeSerializerRegistry ?? throw new ArgumentNullException(nameof(typeSerializerRegistry)); // ReSharper disable once VirtualMemberCallInConstructor ParseHeaders(); }
public static HttpContent Serialize <T>(this ITypeSerializerRegistry typeSerializerRegistry, T value, string mediaType) { if (!typeSerializerRegistry.TryGet(mediaType, out ITypeSerializer? typeSerializer)) { throw new UnknownMediaTypeException(mediaType); } return(typeSerializer.Serialize(value, mediaType)); }
public static ITypeSerializerRegistry Add(this ITypeSerializerRegistry typeSerializerRegistry, IEnumerable <string> mediaTypes, ITypeSerializer typeSerializer) { foreach (string mediaType in mediaTypes) { typeSerializerRegistry = typeSerializerRegistry.Add(mediaType, typeSerializer); } return(typeSerializerRegistry); }
public static ITypeSerializerRegistry Add <T>(this ITypeSerializerRegistry typeSerializerRegistry, IEnumerable <string> mediaTypes) where T : ITypeSerializer { ConstructorInfo?constructor = typeof(T).GetConstructor(new[] { typeof(ITypeSerializerRegistry) }); ITypeSerializer serializer = (ITypeSerializer?)constructor?.Invoke(new object[] { typeSerializerRegistry }) ?? Activator.CreateInstance <T>(); return(typeSerializerRegistry.Add(mediaTypes, serializer)); }
public static ValueTask <T> DeserializeAsync <T>(this ITypeSerializerRegistry typeSerializerRegistry, HttpContent content) { string mediaType = content.Headers.ContentType.MediaType; if (!typeSerializerRegistry.TryGet(mediaType, out ITypeSerializer? typeSerializer)) { throw new UnknownMediaTypeException(mediaType, content); } return(typeSerializer.DeserializeAsync <T>(content)); }
public RegistryConstructorSerializer(ITypeSerializerRegistry registry) { Registry = registry; }
protected UnknownResponse(HttpResponseMessage message, ITypeSerializerRegistry typeSerializerRegistry) : base(message, typeSerializerRegistry) { }
public MultipartFormDataSerializer(ITypeSerializerRegistry typeSerializerRegistry) { _typeSerializerRegistry = typeSerializerRegistry ?? throw new ArgumentNullException(nameof(typeSerializerRegistry)); }