/// <summary> /// Encodes an object. /// </summary> /// <param name="Object">Object to encode.</param> /// <param name="Encoding">Desired encoding of text. Can be null if no desired encoding is speified.</param> /// <param name="ContentType">Content Type of encoding. Includes information about any text encodings used.</param> /// <param name="AcceptedContentTypes">Optional array of accepted content types. If array is empty, all content types are accepted.</param> /// <returns>Encoded object.</returns> /// <exception cref="ArgumentException">If the object cannot be encoded.</exception> public byte[] Encode(object Object, Encoding Encoding, out string ContentType, params string[] AcceptedContentTypes) { if (Object is MixedContent Mixed && InternetContent.IsAccepted(ContentTypes, AcceptedContentTypes)) { string Boundary = Guid.NewGuid().ToString(); ContentType = MixedCodec.ContentType + "; boundary=\"" + Boundary + "\""; return(FormDataDecoder.Encode(Mixed.Content, Boundary)); }
/// <summary> /// Encodes an object. /// </summary> /// <param name="Object">Object to encode.</param> /// <param name="Encoding">Desired encoding of text. Can be null if no desired encoding is speified.</param> /// <param name="ContentType">Content Type of encoding. Includes information about any text encodings used.</param> /// <param name="AcceptedContentTypes">Optional array of accepted content types. If array is empty, all content types are accepted.</param> /// <returns>Encoded object.</returns> /// <exception cref="ArgumentException">If the object cannot be encoded.</exception> public byte[] Encode(object Object, Encoding Encoding, out string ContentType, params string[] AcceptedContentTypes) { if (Object is RelatedContent Related && InternetContent.IsAccepted(ContentTypes, AcceptedContentTypes)) { string Boundary = Guid.NewGuid().ToString(); ContentType = RelatedCodec.ContentType + "; boundary=\"" + Boundary + "\"; type=\"" + Related.Type.Replace("\"", "\\\"") + "\""; return(FormDataDecoder.Encode(Related.Content, Boundary)); }