2using System.Collections.Generic;
4using System.Threading.Tasks;
82 public Task<object>
DecodeAsync(
string ContentType,
byte[] Data, Encoding Encoding, KeyValuePair<string, string>[] Fields, Uri BaseUri)
85 return Task.FromResult<
object>(
new CssDocument(Css));
96 switch (FileExtension.ToLower())
123 FileExtension =
string.Empty;
158 public Task<KeyValuePair<byte[], string>>
EncodeAsync(
object Object, Encoding Encoding, params
string[] AcceptedContentTypes)
161 throw new ArgumentException(
"Unable to encode object, or content type not accepted.", nameof(Object));
168 s = Object.ToString();
170 if (Encoding is
null)
173 Encoding = Encoding.UTF8;
178 return Task.FromResult(
new KeyValuePair<
byte[],
string>(Encoding.GetBytes(s),
ContentType));
Helps with parsing of commong data types.
static string GetString(byte[] Data, Encoding DefaultEncoding)
Gets a string from its binary representation, taking any Byte Order Mark (BOM) into account.
bool TryGetContentType(string FileExtension, out string ContentType)
Tries to get the content type of an item, given its file extension.
Task< object > DecodeAsync(string ContentType, byte[] Data, Encoding Encoding, KeyValuePair< string, string >[] Fields, Uri BaseUri)
Decodes an object.
bool Decodes(string ContentType, out Grade Grade)
If the decoder decodes an object with a given content type.
static readonly string[] CssContentTypes
CSS content types.
static readonly string[] CssFileExtensions
Plain text file extensions.
Task< KeyValuePair< byte[], string > > EncodeAsync(object Object, Encoding Encoding, params string[] AcceptedContentTypes)
Encodes an object.
bool TryGetFileExtension(string ContentType, out string FileExtension)
Tries to get the file extension of an item, given its Content-Type.
string[] FileExtensions
Supported file extensions.
string[] ContentTypes
Supported content types.
const string ContentType
Content-Type for CSS files.
CssCodec()
CSS encoder/decoder.
bool Encodes(object Object, out Grade Grade, params string[] AcceptedContentTypes)
If the encoder encodes a given object.
Encapsulates a CSS Document
Static class managing encoding and decoding of internet content.
static bool IsAccepted(string ContentType, params string[] AcceptedContentTypes)
Checks if a given content type is acceptable.
Basic interface for Internet Content decoders. A class implementing this interface and having a defau...
Basic interface for Internet Content encoders. A class implementing this interface and having a defau...