public ActionResult <string> Post([FromBody] UrlRequest urlRequest)
        {
            string longUrl;

            if (!(urlRequest.LongUrl.StartsWith("http://") || urlRequest.LongUrl.StartsWith("https://") || urlRequest.LongUrl.StartsWith("ftp://") || urlRequest.LongUrl.StartsWith("file://")))
            {
                longUrl = "http://" + urlRequest.LongUrl;
            }
            else
            {
                longUrl = urlRequest.LongUrl;
            }
            Console.WriteLine("im here!");
            if (UrlValidator.validator(longUrl))
            {
                UrlRequest request = new UrlRequest()
                {
                    LongUrl = longUrl
                };
                UrlResorce shortUrl = urlMapper.setShortUrl(request);
                return(Ok(shortUrl));
            }
            else
            {
                return(BadRequest());
            }
        }
Ejemplo n.º 2
0
        public UrlResorce setShortUrl(UrlRequest requestModel)
        {
            string      url;
            Task <bool> search;

            do
            {
                url    = ShortUrlCreator.GenerateShortUrl();
                search = dbContext.Urls.AnyAsync(p => p.ShortUrl == url);
                search.Wait();
            } while (search.Result);


            UrlResorce shortUrl = new UrlResorce
            {
                LongUrl  = requestModel.LongUrl,
                ShortUrl = url
            };

            dbContext.Urls.Add(shortUrl);
            dbContext.SaveChanges();
            return(shortUrl);
        }