public object Post(MultipartData data)
 {
     CommunicationContext.Response.Headers["X-contenttype"] = CommunicationContext.Request.Headers["Content-Type"];
       return new EncodingData
       {
     Data = string.Format("{0}-{1}", data.Name, data.Age)
       };
 }
Esempio n. 2
0
        public void CanPostSimpleMultipartFormDataWithEncoding(
            [Values("UTF-8", "iso-8859-1")] string charsetIn,
            [Values("UTF-8", "iso-8859-1")] string charsetOut)
        {
            // Arrange
              MultipartData data = new MultipartData { Name = "ÆØÅüî", Age = 10, Active = true };
              Request formdataReq = Session.Bind(MultipartFormDataTemplate);

              // NOTE: I haven't found a way to test what encoding it actually uses for the post data,
              // so that must be inspected using Fiddler :-(

              // Act
              using (Response<string> response = formdataReq.Accept("text/plain")
                                                    .AcceptCharset(charsetOut)
                                                    .CodecParameter("Charset", charsetIn)
                                                    .ContentType("multipart/form-data")
                                                    .Post<string>(data))
              {
            // Assert
            Assert.IsTrue(response.Headers["x-contenttype"].StartsWith("multipart/form-data"));
            Assert.AreEqual(charsetOut, response.Headers["x-accept-charset"]);
            Assert.AreEqual("ÆØÅüî-10-True", response.Body);
              }
        }
Esempio n. 3
0
        public void WhenSpecifyingCharsetForCodecItUsesIt()
        {
            // Arrange
              MultipartData data = new MultipartData { Name = "ÆØÅüî", Age = 10 };
              Request formdataReq = Session.Bind(MultipartFormDataTemplate);

              // Act + Assert (throws because it tries to use non-existing charset)
              // - Not the best test ever, I know ...
              AssertThrows<ArgumentException>(() =>
            formdataReq.Accept("text/plain")
                   .CodecParameter("Charset", "NON-EXISTING")
                   .ContentType("multipart/form-data")
                   .Post<string>(data),
            ex => ex.Message.Contains("NON-EXISTING"));
        }
Esempio n. 4
0
        public void CanPostSimpleMultipartFormDataUsingShorthand()
        {
            // Arrange
              MultipartData data = new MultipartData { Name = "Pete", Age = 10, Active = false };
              Request formdataReq = Session.Bind(MultipartFormDataTemplate);

              // Act
              using (Response<string> response = formdataReq.Accept("text/plain").AsMultipartFormData().Post<string>(data))
              {
            // Assert
            Assert.IsTrue(response.Headers["x-contenttype"].StartsWith("multipart/form-data"));
            Assert.AreEqual("Pete-10-False", response.Body);
              }
        }