public UrlPairDto makeShort(string longUrl) { #region contracts if (longUrl == null) { throw new ArgumentException("longUrl cannot be null"); } #endregion UrlPair urlData = new UrlPair(); #region Generate a new code first urlData.urlHash = shortHash(longUrl); urlData.shortURL = NewUniqueCode(urlData.urlHash); #endregion urlData.longURL = longUrl; urlData.DateCreate = DateTime.UtcNow; UrlPairDto newUrlDto = Create(urlData); return(newUrlDto); }
public IHttpActionResult Redirectme(string url) { #region contracts if (!Regex.IsMatch(url, "")) { return(BadRequest("url is not in correct format. ")); } #endregion UrlService urlService = new UrlService(); { UrlPairDto urlDataDto = urlService.Read(url).ToUrlDto(); if (urlDataDto is null) { HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.NotFound, "Not Found"); return(ResponseMessage(response)); } else { return(Redirect(urlDataDto.longURL)); } } }
public IHttpActionResult Post(string url) { #region contracts if (!Regex.IsMatch(url, "")) { return(BadRequest("url is not in correct format. ")); } #endregion UrlService urlService = new UrlService(); { UrlPair resultRecord = urlService.ReadbyHash(url); HttpResponseMessage response = new HttpResponseMessage(); if (resultRecord != null) { UrlPairDto recordUrl = resultRecord.ToUrlDto(); response = Request.CreateResponse(HttpStatusCode.Created, recordUrl); return(ResponseMessage(response)); } UrlPairDto shortUrl = urlService.makeShort(url); response = Request.CreateResponse(HttpStatusCode.Created, shortUrl); return(ResponseMessage(response)); } }
public IHttpActionResult Get(string url) { #region contracts if (!Regex.IsMatch(url, "")) { return(BadRequest("url is not in correct format. ")); } #endregion UrlService urlService = new UrlService(); { UrlPairDto urlPairDto = urlService.Read(url).ToUrlDto(); return(Ok(urlPairDto)); } }
public string getLongUrl(string shortUrl) { #region contracts if (!Regex.IsMatch(shortUrl, "")) { return("url is not in correct format. "); } #endregion UrlService urlService = new UrlService(); { UrlPairDto urlPairDto = urlService.Read(shortUrl).ToUrlDto(); return(urlPairDto?.longURL); } }