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()); }
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); }
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)); }