rescue BadURIError for invalid URL format
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user