Beispiel #1
0
        public static IReadOnlyMultiMap <string, string> AsFormUrlEncoded(this IHttpRequestBody body)
        {
            var bytes = body.AsText();

            if (body.IsMaxSizeExceeded)
            {
                return(new MultiMap <string, string>());
            }

            return(UrlEncodingExtender.ParseValue(bytes));
        }
Beispiel #2
0
        public static XElement AsXml(this IHttpRequestBody body)
        {
            var bytes = body.AsRaw();

            if (body.IsMaxSizeExceeded)
            {
                return(null);
            }

            using (var ms = new MemoryStream())
            {
                ms.Write(bytes, 0, bytes.Length);
                ms.Seek(0L, SeekOrigin.Begin);
                return(XElement.Load(ms));
            }
        }
Beispiel #3
0
        public static T AsBinary <T>(this IHttpRequestBody body)
        {
            var bytes = body.AsRaw();

            if (body.IsMaxSizeExceeded)
            {
                return(default(T));
            }

            using (var ms = new MemoryStream())
            {
                ms.Write(bytes, 0, bytes.Length);
                ms.Seek(0L, SeekOrigin.Begin);
                var formatter = new BinaryFormatter();
                return((T)formatter.Deserialize(ms));
            }
        }
 private void SetBody(IHttpRequestBody newBody)
 {
     _body.Dispose();
     _body = newBody;
 }
 public HttpRequestContext()
 {
     ResourceAddress = "";
     Headers         = new MapImpl();
     _body           = _emptyBody;
 }
Beispiel #6
0
 public static dynamic AsJson(this IHttpRequestBody body)
 {
     return(serializer.Deserialize <dynamic>(body.AsText()));
 }
 public GenericStream GetBodyAsStream()
 {
     _body = _body ?? new HttpRequestBodyBinary();
     return(new GenericStream(_body.GetDataStream()));
 }