Ejemplo n.º 1
0
        public IHttpActionResult Expand(string miniUrl)
        {
            try
            {
                if (!Uri.IsWellFormedUriString(miniUrl, UriKind.Absolute))
                {
                    return(BadRequest("The parameter miniUrl's format is invalid"));
                }

                var miniUri = new Uri(miniUrl);

                if (string.IsNullOrWhiteSpace(miniUri.AbsolutePath.Substring(1)))
                {
                    return(BadRequest("The parameter miniUrl's format is invalid"));
                }

                string originalUrl = EarlMiniProvider.ExpandUrl(miniUri);

                if (!string.IsNullOrWhiteSpace(originalUrl))
                {
                    return(Ok(new
                    {
                        orginalUrl = originalUrl
                    }));
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);

                return(InternalServerError( ));
            }

            return(NotFound());
        }
Ejemplo n.º 2
0
        public void Can_Expand_MiniUrl(string miniUrl)
        {
            const string expectedOriginalUrl = "https://www.google.com";

            //Arrange
            _repositoryMock.Setup(x => x.GetOriginalUrl("abcd1234"))
            .Returns(expectedOriginalUrl);

            EarlMiniProvider.InitializeTestingConfiguration(_repositoryMock.Object);

            //Act
            string originalUrl = EarlMiniProvider.ExpandUrl(miniUrl);

            //Assert
            Assert.IsNotNullOrEmpty(miniUrl);
            Assert.AreEqual(expectedOriginalUrl, originalUrl);
        }
Ejemplo n.º 3
0
        public IHttpActionResult Index(string url)
        {
            string miniUrl = Request.RequestUri.AbsoluteUri;

            if (string.IsNullOrWhiteSpace(miniUrl))
            {
                return(NotFound());
            }

            string originalUrl = EarlMiniProvider.ExpandUrl(miniUrl);

            if (string.IsNullOrWhiteSpace(miniUrl))
            {
                return(NotFound());
            }

            return(Redirect(originalUrl));
        }