コード例 #1
0
		private void DoResponse(string format, IControllerBridge bridge)
		{
			Responder hander = new Responder(bridge, bridge.ControllerAction);
			hander.Format = format;
			_renderers[format](hander);

			MimeType usedType = _mimeTypes.Where(mime => mime.Symbol == format).First();
			bridge.SetResponseType(usedType);
		}
コード例 #2
0
        private void DoResponse(string format, IControllerBridge bridge)
        {
            Responder hander = new Responder(bridge, bridge.ControllerAction);

            hander.Format = format;
            _renderers[format](hander);

            MimeType usedType = _mimeTypes.Where(mime => mime.Symbol == format).First();

            bridge.SetResponseType(usedType);
        }
コード例 #3
0
        private void DoResponse(string format, IControllerBridge bridge)
        {
            Responder hander = new Responder(bridge, bridge.ControllerAction);
            hander.Format = format;
            _renderers[format](hander);

            MimeTypes types = new MimeTypes();
            types.RegisterBuiltinTypes();

//            MimeType usedType = types.Where(mime => mime.Symbol == format).First();
            MimeType usedType = types.FindAll(delegate(MimeType mime) { return mime.Symbol == format; })[0];
            bridge.SetResponseType(usedType);
        }
コード例 #4
0
        public void Setup()
        {
        	mimes = new MimeTypes();
			mimes.RegisterBuiltinTypes();

            mocks = new MockRepository();
            bridge = mocks.DynamicMock<IControllerBridge>();
            format = new ResponseFormat(mimes);
            handlerInvoked = "";

            ResponseFormatInternal iformat = (ResponseFormatInternal)format;
            iformat.AddRenderer("xml", x => handlerInvoked = "xml");
            iformat.AddRenderer("html", x => handlerInvoked = "html");
        }
コード例 #5
0
        public void Setup()
        {
            mimes = new MimeTypes();
            mimes.RegisterBuiltinTypes();

            mocks          = new MockRepository();
            bridge         = mocks.DynamicMock <IControllerBridge>();
            format         = new ResponseFormat(mimes);
            handlerInvoked = "";

            ResponseFormatInternal iformat = (ResponseFormatInternal)format;

            iformat.AddRenderer("xml", x => handlerInvoked  = "xml");
            iformat.AddRenderer("html", x => handlerInvoked = "html");
        }
コード例 #6
0
        private void DoResponse(string format, IControllerBridge bridge)
        {
            Responder hander = new Responder(bridge, bridge.ControllerAction);

            hander.Format = format;
            _renderers[format](hander);

            MimeTypes types = new MimeTypes();

            types.RegisterBuiltinTypes();

//            MimeType usedType = types.Where(mime => mime.Symbol == format).First();
            MimeType usedType = types.FindAll(delegate(MimeType mime) { return(mime.Symbol == format); })[0];

            bridge.SetResponseType(usedType);
        }
コード例 #7
0
 bool ResponseFormatInternal.RespondWith(string format, IControllerBridge bridge)
 {
     if (_renderers.ContainsKey(format))
     {
         DoResponse(format, bridge);
         return true;
     }
     else
     {
         if (String.Equals("all", format, StringComparison.InvariantCultureIgnoreCase))
         {
             DoResponse(_order[0], bridge);
             return true;
         }
         else
         {
             return false;
         }
     }
 }
コード例 #8
0
        public void IfRespondWithMimeAll_ThenFirstResponder_ShouldBeInvoked()
        {
            mocks  = new MockRepository();
            bridge = mocks.DynamicMock <IControllerBridge>();

            using (mocks.Record())
            {
                SetupResult.For(bridge.ControllerAction).Return("Show");
            }
            format = new ResponseFormat();
            format.AddRenderer("html", delegate(Responder responder) {
                handlerInvoked = "html";
            });
            format.AddRenderer("xml", delegate(Responder responder) {
                handlerInvoked = "xml";
            });

            format.RespondWith("all", bridge);
            Assert.AreEqual("html", handlerInvoked);
        }
コード例 #9
0
 bool ResponseFormatInternal.RespondWith(string format, IControllerBridge bridge)
 {
     if (_renderers.ContainsKey(format))
     {
         DoResponse(format, bridge);
         return(true);
     }
     else
     {
         if (String.Equals("all", format, StringComparison.InvariantCultureIgnoreCase))
         {
             DoResponse(_order[0], bridge);
             return(true);
         }
         else
         {
             return(false);
         }
     }
 }
コード例 #10
0
        public void IfRespondWithMimeAll_ThenFirstResponder_ShouldBeInvoked()
        {
            mocks = new MockRepository();
            bridge = mocks.DynamicMock<IControllerBridge>();

            using (mocks.Record())
            {
                SetupResult.For(bridge.ControllerAction).Return("Show");
            }
            format = new ResponseFormat();
        	format.AddRenderer("html", delegate(Responder responder) {
        	                           	handlerInvoked = "html";
        	                           });
        	format.AddRenderer("xml", delegate(Responder responder) {
        	                           	handlerInvoked = "xml";
        	                           });

            format.RespondWith("all", bridge);
            Assert.AreEqual("html", handlerInvoked);
        }
コード例 #11
0
        public void IfRespondWithMimeAll_ThenFirstResponder_ShouldBeInvoked()
        {
            mocks = new MockRepository();
            bridge = mocks.DynamicMock<IControllerBridge>();

            using (mocks.Record())
            {
                SetupResult.For(bridge.ControllerAction).Return("Show");
            }
            
			string handlerInvoked = "";
			MimeTypes mimeTypes = new MimeTypes();
			mimeTypes.RegisterBuiltinTypes();

            format = (ResponseFormatInternal)new ResponseFormat(mimeTypes);
            format.AddRenderer("html", response => handlerInvoked = "html");
            format.AddRenderer("xml", response => handlerInvoked = "xml");

            format.RespondWith("all", bridge);
            Assert.AreEqual("html", handlerInvoked);
        }
コード例 #12
0
        public void IfRespondWithMimeAll_ThenFirstResponder_ShouldBeInvoked()
        {
            mocks  = new MockRepository();
            bridge = mocks.DynamicMock <IControllerBridge>();

            using (mocks.Record())
            {
                SetupResult.For(bridge.ControllerAction).Return("Show");
            }

            string    handlerInvoked = "";
            MimeTypes mimeTypes      = new MimeTypes();

            mimeTypes.RegisterBuiltinTypes();

            format = (ResponseFormatInternal) new ResponseFormat(mimeTypes);
            format.AddRenderer("html", response => handlerInvoked = "html");
            format.AddRenderer("xml", response => handlerInvoked  = "xml");

            format.RespondWith("all", bridge);
            Assert.AreEqual("html", handlerInvoked);
        }
コード例 #13
0
        public void Setup()
        {
            mocks = new MockRepository();
            bridge = mocks.DynamicMock<IControllerBridge>();
            format = new ResponseFormat();
            handlerInvoked = "";

            ResponseFormatInternal iformat = format;

			iformat.AddRenderer("xml", delegate(Responder responder)
			{
				handlerInvoked = "xml";
			});
			iformat.AddRenderer("html", delegate(Responder responder)
			{
        	                           	handlerInvoked = "html";
        	                           });

            mimes = new MimeType[] {
                new MimeType("text/html", "html"),
                new MimeType("application/xml", "xml")
            };
        }
コード例 #14
0
        public void Setup()
        {
            mocks          = new MockRepository();
            bridge         = mocks.DynamicMock <IControllerBridge>();
            format         = new ResponseFormat();
            handlerInvoked = "";

            ResponseFormatInternal iformat = format;

            iformat.AddRenderer("xml", delegate(Responder responder)
            {
                handlerInvoked = "xml";
            });
            iformat.AddRenderer("html", delegate(Responder responder)
            {
                handlerInvoked = "html";
            });

            mimes = new MimeType[] {
                new MimeType("text/html", "html"),
                new MimeType("application/xml", "xml")
            };
        }
コード例 #15
0
 	public ResponseHandler(IControllerBridge bridge, ResponseFormat format, params MimeType[] acceptedMimes)
 	{
 		_controllerBridge = bridge;
 		_acceptedMimes = acceptedMimes;
 		_format = format;
 	}
コード例 #16
0
		public Responder(IControllerBridge controllerBridge, string controllerAction)
		{
			_controllerBridge = controllerBridge;
			_controllerAction = controllerAction;
		}
コード例 #17
0
 	public ResponseHandler(IControllerBridge bridge, ResponseFormat format)
 	{
 		_controllerBridge = bridge;
 		_format = format;
 	}
コード例 #18
0
 public Responder(IControllerBridge controllerBridge, string controllerAction)
 {
     _controllerBridge = controllerBridge;
     _controllerAction = controllerAction;
 }
コード例 #19
0
 public ResponseHandler(IControllerBridge bridge, ResponseFormat format)
 {
     _controllerBridge = bridge;
     _format           = format;
 }
コード例 #20
0
 public ResponseHandler(IControllerBridge bridge, ResponseFormat format, params MimeType[] acceptedMimes)
 {
     _controllerBridge = bridge;
     _acceptedMimes    = acceptedMimes;
     _format           = format;
 }