Esempio n. 1
0
        static Stream CreateBody(String enctype, Encoding encoding, FormDataSet formDataSet)
        {
            if (enctype.Equals(MimeTypes.UrlencodedForm, StringComparison.OrdinalIgnoreCase))
            {
                return(formDataSet.AsUrlEncoded(encoding));
            }
            else if (enctype.Equals(MimeTypes.MultipartForm, StringComparison.OrdinalIgnoreCase))
            {
                return(formDataSet.AsMultipart(encoding));
            }
            else if (enctype.Equals(MimeTypes.Plain, StringComparison.OrdinalIgnoreCase))
            {
                return(formDataSet.AsPlaintext(encoding));
            }

            return(MemoryStream.Null);
        }
        public static Stream CreateBody(this FormDataSet formDataSet, String enctype, Encoding encoding)
        {
            if (enctype.Isi(MimeTypeNames.UrlencodedForm))
            {
                return(formDataSet.AsUrlEncoded(encoding));
            }
            else if (enctype.Isi(MimeTypeNames.MultipartForm))
            {
                return(formDataSet.AsMultipart(encoding));
            }
            else if (enctype.Isi(MimeTypeNames.Plain))
            {
                return(formDataSet.AsPlaintext(encoding));
            }
            else if (enctype.Isi(MimeTypeNames.ApplicationJson))
            {
                return(formDataSet.AsJson());
            }

            return(MemoryStream.Null);
        }
Esempio n. 3
0
        static Stream CreateBody(String enctype, Encoding encoding, FormDataSet formDataSet)
        {
            if (enctype.Isi(MimeTypeNames.UrlencodedForm))
            {
                return formDataSet.AsUrlEncoded(encoding);
            }
            else if (enctype.Isi(MimeTypeNames.MultipartForm))
            {
                return formDataSet.AsMultipart(encoding);
            }
            else if (enctype.Isi(MimeTypeNames.Plain))
            {
                return formDataSet.AsPlaintext(encoding);
            }
            else if (enctype.Isi(MimeTypeNames.ApplicationJson))
            {
                return formDataSet.AsJson();
            }

            return MemoryStream.Null;
        }
Esempio n. 4
0
        /// <summary>
        /// Creates a POST request for the given target with the fields being
        /// used to generate the body and encoding type multipart.
        /// </summary>
        /// <param name="target">The target to use.</param>
        /// <param name="fields">The fields to send.</param>
        /// <returns>The new document request.</returns>
        public static DocumentRequest PostAsMultipart(Url target, IDictionary<String, object> fields)
        {
            if (fields == null)
                throw new ArgumentNullException("fields");

            var fds = new FormDataSet();

            foreach (var field in fields)
            {
                if (field.Value is AngleSharp.Dom.Io.IFile)
                    fds.Append(field.Key, (AngleSharp.Dom.Io.IFile)field.Value, InputTypeNames.File);
                else
                    fds.Append(field.Key, (String)field.Value, InputTypeNames.Text);
            }

            var enctype = String.Concat(MimeTypes.MultipartForm, "; boundary=", fds.Boundary);
            return Post(target, fds.AsMultipart(), enctype);
        }
Esempio n. 5
0
        static Stream CreateBody(String enctype, Encoding encoding, FormDataSet formDataSet)
        {
            if (enctype.Equals(MimeTypes.UrlencodedForm, StringComparison.OrdinalIgnoreCase))
                return formDataSet.AsUrlEncoded(encoding);
            else if (enctype.Equals(MimeTypes.MultipartForm, StringComparison.OrdinalIgnoreCase))
                return formDataSet.AsMultipart(encoding);
            else if (enctype.Equals(MimeTypes.Plain, StringComparison.OrdinalIgnoreCase))
                return formDataSet.AsPlaintext(encoding);
            else if (enctype.Equals(MimeTypes.ApplicationJson, StringComparison.OrdinalIgnoreCase))
                return formDataSet.AsJson();

            return MemoryStream.Null;
        }