private Multipart.Part getDefaultField() { var part = new Multipart.Part("SomeField"); part.Content = "Field's value"; return(part); }
public async Task EchoBuffer_POST_AzosMultipart() { var toSend = new byte[] { 1, 2, 3, 255, 254, 253 }; var part = new Multipart.Part("buffer") { Content = toSend, FileName = "file.bin", ContentType = ContentType.BINARY }; var multipart = new Multipart(new [] { part }).Encode(); var content = new ByteArrayContent(multipart.Buffer, 0, (int)multipart.Length); content.Headers.Add(WebConsts.HTTP_HDR_CONTENT_TYPE, ContentType.FORM_MULTIPART_ENCODED); var response = await Client.PostAsync("echobuffer", content); Aver.IsTrue(HttpStatusCode.OK == response.StatusCode); var got = await response.Content.ReadAsByteArrayAsync(); Aver.IsNotNull(got); Aver.IsTrue(toSend.MemBufferEquals(got)); }
private Multipart.Part getDefaultFile() { var part = new Multipart.Part("SomeFile"); part.Content = BYTES; part.FileName = "five_numbers.dat"; part.ContentType = "application/octet-stream"; return(part); }
public void TryCreatePart_NullName() { try { var part = new Multipart.Part(null); Assert.Fail("Invalid name!"); } catch (Exception e) { Assert.IsTrue(e.Message.Contains(NFX.Web.StringConsts.MULTIPART_PART_EMPTY_NAME_ERROR)); } }
public void TryCreatePart_NullName() { try { var part = new Multipart.Part(null); Aver.Fail("Invalid name!"); } catch (Exception e) { Conout.Write(e.ToMessageWithType()); Aver.IsTrue(e.Message.Contains(StringConsts.MULTIPART_PART_EMPTY_NAME_ERROR)); } }
public void MissCharset1251() { var part = new Multipart.Part("field"); part.FileName = "text"; part.ContentType = "Content-type: text/plain"; part.Content = Encoding.GetEncoding(1251).GetBytes("Значение"); var mpE = new Multipart(new Multipart.Part[] { part }); var enc = mpE.Encode(); var boundary = enc.Boundary; var mpD = Multipart.ReadFromBytes(enc.Buffer, ref boundary); Assert.AreNotEqual("Значение", mpD.Parts["field"].Content); }
public void WithoutCharset() { var part = new Multipart.Part("field"); part.FileName = "text"; part.ContentType = "Content-type: text/plain"; part.Content = Encoding.UTF8.GetBytes("Значение of the word is გთხოვთ Οὐχὶ"); var mpE = new Multipart(new Multipart.Part[] { part }); var enc = mpE.Encode(); var boundary = enc.Boundary; var mpD = Multipart.ReadFromBytes(enc.Buffer, ref boundary); Aver.AreObjectsEqual("Значение of the word is გთხოვთ Οὐχὶ", mpD.Parts["field"].Content); }
public void EncodeDecode_OneField_Enc1251() { var encoding = Encoding.GetEncoding(1251); var part = new Multipart.Part("Field"); part.Content = "Значение"; var mpE = new Multipart(new Multipart.Part[] { part }); var encCont = mpE.Encode(encoding); string boundary = null; var mpD = Multipart.ReadFromBytes(encCont.Buffer, ref boundary, encoding); Assert.AreEqual(encCont.Boundary, boundary); Assert.AreEqual(encCont.Encoding, encoding); Assert.AreEqual(1, mpD.Parts.Count); Assert.AreEqual(part.Content.AsString(), mpD.Parts[part.Name].Content.AsString()); Assert.IsNull(mpD.Parts[part.Name].ContentType); Assert.IsNull(mpD.Parts[part.Name].FileName); }
public void EncodeDecode_OneField_UTF8() { var encoding = Encoding.UTF8; var part = new Multipart.Part("Field"); part.Content = "Значение of the word is გთხოვთ ახლავე Οὐχὶ ταὐτὰ παρίσταταί μοι"; var mpE = new Multipart(new Multipart.Part[] { part }); var encCont = mpE.Encode(encoding); string boundary = null; var mpD = Multipart.ReadFromBytes(encCont.Buffer, ref boundary, encoding); Aver.AreEqual(encCont.Boundary, boundary); Aver.AreObjectsEqual(encCont.Encoding, encoding); Aver.AreEqual(1, mpD.Parts.Count); Aver.AreEqual(part.Content.AsString(), mpD.Parts[part.Name].Content.AsString()); Aver.IsNull(mpD.Parts[part.Name].ContentType); Aver.IsNull(mpD.Parts[part.Name].FileName); }
//private void doSendWithoutAttachments(Message msg, MessageAddresses addresses) //{ // var request = new WebClient.RequestParams(this) // { // Method = HTTPRequestMethod.POST, // BodyParameters = new Dictionary<string, string>() // }; // var auth = new HttpBasicAuthenticationHelper(API_USER_NAME, AuthorizationKey); // auth.AddAuthHeader(ref request); // addParameter(request.BodyParameters, MAIL_PARAM_FROM, addresses.From); // addParameter(request.BodyParameters, MAIL_PARAM_TO, addresses.To); // if (addresses.CC.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_CC, addresses.CC); // if (addresses.BCC.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_BCC, addresses.BCC); // if (addresses.ReplyTo.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_REPLY_TO, addresses.ReplyTo); // if (msg.Subject.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_SUBJECT, msg.Subject); // if (msg.Body.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_TEXT, msg.Body); // if (msg.RichBody.IsNotNullOrWhiteSpace()) // addParameter(request.BodyParameters, MAIL_PARAM_HTML, msg.RichBody); // if (TestMode) // request.BodyParameters.Add(API_PARAM_TESTMODE, "yes"); // WebClient.GetString(ServiceUrl, request); //} private void doSendMultipart(Message msg, MessageAddresses addresses) { Multipart.Part part; var parts = new List <Multipart.Part>(); part = new Multipart.Part(MAIL_PARAM_FROM) { ContentType = ContentType.TEXT, Content = addresses.From }; parts.Add(part); part = new Multipart.Part(MAIL_PARAM_TO) { ContentType = ContentType.TEXT, Content = addresses.To }; parts.Add(part); if (addresses.CC.IsNotNullOrWhiteSpace()) { part = new Multipart.Part(MAIL_PARAM_CC) { ContentType = ContentType.TEXT, Content = addresses.CC }; parts.Add(part); } if (addresses.BCC.IsNotNullOrWhiteSpace()) { part = new Multipart.Part(MAIL_PARAM_BCC) { ContentType = ContentType.TEXT, Content = addresses.BCC }; parts.Add(part); } if (addresses.ReplyTo.IsNotNullOrWhiteSpace()) { part = new Multipart.Part(MAIL_PARAM_REPLY_TO) { ContentType = ContentType.TEXT, Content = addresses.ReplyTo }; parts.Add(part); } part = new Multipart.Part(MAIL_PARAM_SUBJECT) { ContentType = ContentType.TEXT, Content = msg.Subject }; parts.Add(part); part = new Multipart.Part(MAIL_PARAM_TEXT) { ContentType = ContentType.TEXT, Content = msg.Body }; parts.Add(part); part = new Multipart.Part(MAIL_PARAM_HTML) { ContentType = ContentType.HTML, Content = msg.RichBody }; parts.Add(part); if (TestMode) { part = new Multipart.Part(API_PARAM_TESTMODE) { ContentType = ContentType.TEXT, Content = "yes" }; parts.Add(part); } if (msg.Attachments != null) { foreach (var attachment in msg.Attachments.Where(a => a.Content != null)) { part = new Multipart.Part(MAIL_PARAM_ATTACHMENT) { ContentType = attachment.ContentType, Content = attachment.Content, FileName = attachment.Name }; parts.Add(part); } } var mp = new Multipart(parts); var enc = mp.Encode(); var req = WebRequest.CreateHttp(ServiceUrl); req.Method = "POST"; req.ContentType = ContentType.FORM_MULTIPART_ENCODED_BOUNDARY.Args(enc.Boundary); req.ContentLength = enc.Length; var auth = new HttpBasicAuthenticationHelper(API_USER_NAME, AuthorizationKey); auth.AddAuthHeader(req); using (var reqs = req.GetRequestStream()) { reqs.Write(enc.Buffer, 0, (int)enc.Length); using (var resp = req.GetResponse()) { } } }