Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        public void GenerateUniqueKeyTests()
        {
            var token = Base62Convertor.Convert(1000000);

            Assert.Equal(1000000, Base62Convertor.Decode(token));
        }