Example #1
0
        /// <summary>
        /// Decodes an object.
        /// </summary>
        /// <param name="ContentType">Internet Content Type.</param>
        /// <param name="Data">Encoded object.</param>
        /// <param name="Encoding">Any encoding specified. Can be null if no encoding specified.</param>
        /// <param name="Fields">Any content-type related fields and their corresponding values.</param>
        ///	<param name="BaseUri">Base URI, if any. If not available, value is null.</param>
        /// <returns>Decoded object.</returns>
        /// <exception cref="ArgumentException">If the object cannot be decoded.</exception>
        public object Decode(string ContentType, byte[] Data, Encoding Encoding, KeyValuePair <string, string>[] Fields, Uri BaseUri)
        {
            List <EmbeddedContent> List = new List <EmbeddedContent>();

            FormDataDecoder.Decode(Data, Fields, null, List, BaseUri);

            return(new ReportContent(List.ToArray()));
        }
Example #2
0
 /// <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 ReportContent Report &&
         InternetContent.IsAccepted(ContentTypes, AcceptedContentTypes))
     {
         string Boundary = Guid.NewGuid().ToString();
         ContentType = ReportCodec.ContentType + "; boundary=\"" + Boundary + "\"";
         return(FormDataDecoder.Encode(Report.Content, Boundary));
     }