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); }
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); } }
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); }
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"); }
public HttpContextImpl(HttpContext context) { this.context = context; request = new HttpRequestImpl(context.Request); response = new HttpResponseImpl(context.Response); }