diff --git a/app.rb b/app.rb index aa82f35..b9ef9e5 100644 --- a/app.rb +++ b/app.rb @@ -34,6 +34,20 @@ class App < Roda flash['message'] = "Please enter a valid URL"; r.redirect '/' end + + begin + OpenURI.open_uri(url) + rescue URI::BadURIError + flash['message'] = "Invalid URL" + r.redirect '/' + rescue OpenURI::HTTPError + flash['message'] = "URL not found" + r.redirect '/' + rescue SocketError => e + flash['message'] = "URL does not resolve" + r.redirect '/' + end + if links.filter(:url => url).first.nil? code = SecureRandom.urlsafe_base64 4 links.insert(url: url, code: code)