public async Task <IActionResult> CreateShortUrl([FromBody] string url) { bool isUri = Uri.IsWellFormedUriString(url, UriKind.Absolute); if (!isUri) { return(BadRequest("Not a valid URL!!! Come on you can do better")); } var id = await this.uniqueIdGenerator.GetNext(); var shorturl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}/{Base62Convertor.Convert(id)}"; var persistanceStatus = await this.urlRepository.SaveUrl(id, url); if (persistanceStatus == false) { throw new Exception("Sorry!! We have some temporary down time. We request to retry after sometime"); } return(Created(new Uri(shorturl), shorturl)); }
public void GenerateUniqueKeyTests() { var token = Base62Convertor.Convert(1000000); Assert.Equal(1000000, Base62Convertor.Decode(token)); }