rescue BadURIError for invalid URL format

pull/22/head
Adam Townsend 2023-10-12 18:20:56 -07:00
parent 11206854ad
commit 1ae6c02472
1 changed files with 9 additions and 0 deletions

9
app.rb
View File

@ -2,6 +2,7 @@ require 'roda'
require 'securerandom'
require 'json'
require 'sequel'
require 'open-uri'
class App < Roda
plugin :sessions, secret: ENV.delete('APP_SESSION_SECRET')
@ -60,6 +61,14 @@ class App < Roda
return {message: "invalid url parameter"}.to_json
end
begin
OpenURI.open_uri(url)
rescue URI::BadURIError
response.status = 400
return {message: "invalid url parameter"}.to_json
end
if links.filter(:url => url).first.nil?
code = SecureRandom.urlsafe_base64 4
links.insert(url: url, code: code)