Inheritance: System.Web.Mvc.ActionResult
 public static JsonpResult Jsonp(this Controller controller, object data)
 {
     JsonpResult result = new JsonpResult();
     result.Data = data;
     result.ExecuteResult(controller.ControllerContext);
     return result;
 }
Example #2
0
        public static JsonpResult Jsonp(this Controller controller, object data)
        {
            JsonpResult result = new JsonpResult();

            result.Data = data;
            return(result);
        }
        /// <summary>
        /// Extension methods for the controller to allow jsonp.
        /// </summary>
        /// <param name="controller">The controller.</param>
        /// <param name="data">The data.</param>
        /// <returns></returns>
        public static JsonpResult Jsonp(this IdoController controller, object data)
        {
            JsonpResult result = new JsonpResult()
            {
                Data = data,
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

            return(result);
        }
Example #4
0
        public void Content_Type_Can_Be_Auto_Set()
        {
            var result = new JsonpResult
            {
                Data = this.fakeData
            };

            var fakeHttpResponse = ExecuteAndGetResponse(result);

            fakeHttpResponse.VerifySet(response => response.ContentType = "application/javascript");
            fakeHttpResponse.Verify(r => r.Write(It.IsAny<string>()), Times.Once());
        }
Example #5
0
        public void Content_Type_Can_Be_Set()
        {
            var result = new JsonpResult
            {
                Data = this.fakeData,
                ContentType = "fakeType"
            };

            var fakeHttpResponse = ExecuteAndGetResponse(result);

            fakeHttpResponse.VerifySet(r => r.ContentType = result.ContentType);
            fakeHttpResponse.Verify(r => r.Write(It.IsAny<string>()), Times.Once());
        }
Example #6
0
        public void Content_Encoding_Can_Be_Set()
        {
            var result = new JsonpResult
            {
                Data = this.fakeData,
                ContentEncoding = Encoding.UTF8
            };

            var fakeHttpResponse = ExecuteAndGetResponse(result);

            fakeHttpResponse.VerifySet(response => response.ContentEncoding = result.ContentEncoding);
            fakeHttpResponse.Verify(r => r.Write(It.IsAny<string>()), Times.Once());
        }
Example #7
0
        public ActionResult Decode(string code)
        {
            Message data = null;
            var upperCode = code.ToUpperInvariant();
            if (HttpRuntime.Cache.Get(upperCode) != null)
              data = JsonConvert.DeserializeObject<Message>((string)HttpRuntime.Cache.Get(upperCode));

            //Return the program
            JsonpResult result = new JsonpResult();
            result.Data = data;
            result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;

            //Return the data
            return result;
        }
Example #8
0
        private static Mock<HttpResponseBase> ExecuteAndGetResponse(JsonpResult result)
        {
            var fakeControllerContext = new Mock<ControllerContext>();
            var fakeHttpContext = new Mock<HttpContextBase>();
            var fakeHttpRequest = new Mock<HttpRequestBase>();
            var fakeHttpResponse = new Mock<HttpResponseBase>();
            fakeHttpRequest.SetupGet(request => request.QueryString).Returns(new NameValueCollection { { "Callback ", "fakeCallback" } });

            fakeHttpContext.Setup(c => c.Request).Returns(fakeHttpRequest.Object);
            fakeHttpContext.Setup(c => c.Response).Returns(fakeHttpResponse.Object);
            fakeControllerContext.Setup(c => c.HttpContext).Returns(fakeHttpContext.Object);

            result.ExecuteResult(fakeControllerContext.Object);

            return fakeHttpResponse;
        }
Example #9
0
        public ActionResult GetCode(string hostId, string hostName, string accountName)
        {
            //Generate new data
            var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            var random = new Random();
            var code = new string(
            Enumerable.Repeat(chars, 6)
                      .Select(s => s[random.Next(s.Length)])
                      .ToArray());

            //store the url in the cache along with its
            var message = new Message(hostId,hostName,accountName);
            var requestObject = JsonConvert.SerializeObject(message);
            HttpRuntime.Cache.Insert(code, requestObject, null, DateTime.Now.AddHours(12), Cache.NoSlidingExpiration);

            //Return the program
            JsonpResult returnResult = new JsonpResult();
            returnResult.Data = code;
            returnResult.JsonRequestBehavior = JsonRequestBehavior.AllowGet;

            //Return the data
            return returnResult;
        }