Exemplo n.º 1
0
        public ScriptedController(ControllerContext context, LoadedModuleHandle module) : base(module, true)
        {
            _ctx         = context;
            HttpRequest  = new HttpRequestImpl(_ctx.HttpContext.Request);
            HttpResponse = new HttpResponseImpl(_ctx.HttpContext.Response);

            if (_ctx.RouteData != null)
            {
                RouteValues = new MapImpl();
                foreach (var routeData in _ctx.RouteData.Values)
                {
                    var rv = RouteValues.AsObject();
                    rv.SetIndexedValue(
                        ValueFactory.Create(routeData.Key),
                        CustomMarshaller.ConvertToIValueSafe(routeData.Value, routeData.Value.GetType())
                        );
                }
            }
            else
            {
                RouteValues = ValueFactory.Create();
            }

            var typeClr = (Type)context.ActionDescriptor.Properties["type"];
            var type    = TypeManager.RegisterType(typeClr.Name, typeof(ScriptedController));

            DefineType(type);
            InitOwnData();
        }
        public void ContentTypeIsReflectedInHeadersAfterAssignment()
        {
            var response = MockRequestClass();

            var scriptRequest = new HttpResponseImpl(response);

            scriptRequest.ContentType = "text/plain";
            Assert.Equal("text/plain", scriptRequest.Headers.GetIndexedValue(ValueFactory.Create("Content-Type")).AsString());
            Assert.Equal("text/plain", scriptRequest.RealObject.Headers["Content-Type"]);
            Assert.Equal("text/plain", scriptRequest.RealObject.ContentType);
        }
Exemplo n.º 3
0
        public void ContentTypeIsReflectedInHeadersAfterAssignment()
        {
            lock (TestOrderingLock.Lock)
            {
                var se       = new MinimalTypeSystemHack();
                var context  = new DefaultHttpContext();
                var response = new DefaultHttpResponse(context);

                var scriptRequest = new HttpResponseImpl(response);
                scriptRequest.ContentType = "text/plain";
                Assert.True(scriptRequest.Headers.GetIndexedValue(ValueFactory.Create("Content-Type")).AsString().Equals("text/plain"));
                Assert.Equal("text/plain", scriptRequest.RealObject.Headers["Content-Type"]);
                Assert.Equal("text/plain", scriptRequest.RealObject.ContentType);
            }
        }
Exemplo n.º 4
0
        public void ContentTypeIsReflectedInHeadersAfterSetHeaders()
        {
            var context  = new DefaultHttpContext();
            var response = new DefaultHttpResponse(context);

            var headers = new MapImpl();

            headers.SetIndexedValue(ValueFactory.Create("Content-Type"), ValueFactory.Create("text/plain"));

            var scriptRequest = new HttpResponseImpl(response);

            scriptRequest.SetHeaders(headers);
            Assert.True(scriptRequest.Headers.GetIndexedValue(ValueFactory.Create("Content-Type")).AsString().Equals("text/plain"));
            Assert.Equal("text/plain", scriptRequest.RealObject.Headers["Content-Type"]);
            Assert.Equal("text/plain", scriptRequest.RealObject.ContentType);
        }
Exemplo n.º 5
0
        public void ResponseHeadersCanBeSetFrom_MapImpl()
        {
            var response = new Mock <HttpResponse>();
            var headers  = new MapImpl();

            headers.SetIndexedValue(ValueFactory.Create("Content-Length"), ValueFactory.Create("123456"));
            headers.SetIndexedValue(ValueFactory.Create("Content-Encoding"), ValueFactory.Create("utf-8"));

            var testedHeaders = new HeaderDictionary();

            response.SetupGet(x => x.Headers).Returns(testedHeaders);

            var scriptRequest = new HttpResponseImpl(response.Object);

            scriptRequest.SetHeaders(headers);

            Assert.Equal(testedHeaders["Content-Length"], "123456");
            Assert.Equal(testedHeaders["Content-Encoding"], "utf-8");
        }
Exemplo n.º 6
0
 public HttpContextImpl(HttpContext context)
 {
     this.context = context;
     request = new HttpRequestImpl(context.Request);
     response = new HttpResponseImpl(context.Response);
 }
Exemplo n.º 7
0
 public HttpContextImpl(HttpContext context)
 {
     this.context = context;
     request      = new HttpRequestImpl(context.Request);
     response     = new HttpResponseImpl(context.Response);
 }