mirror of
https://github.com/neocities/neocities.git
synced 2025-07-24 03:20:40 +02:00
punycode support for domains, validate for registered domains
This commit is contained in:
parent
19638ff712
commit
fda95b7f07
6 changed files with 22 additions and 7 deletions
|
@ -102,7 +102,6 @@ end
|
|||
get '/api/info' do
|
||||
if params[:sitename]
|
||||
site = Site[username: params[:sitename]]
|
||||
|
||||
api_error 400, 'site_not_found', "could not find site #{params[:sitename]}" if site.nil? || site.is_banned
|
||||
api_success api_info_for(site)
|
||||
else
|
||||
|
|
|
@ -225,6 +225,16 @@ post '/settings/:username/custom_domain' do
|
|||
|
||||
@site.domain = params[:domain]
|
||||
|
||||
begin
|
||||
Socket.gethostbyname @site.values[:domain]
|
||||
rescue SocketError => e
|
||||
if e.message =~ /name or service not known/i
|
||||
flash[:error] = 'Domain needs to be valid and already registered.'
|
||||
redirect "/settings/#{@site.username}#custom_domain"
|
||||
end
|
||||
raise e
|
||||
end
|
||||
|
||||
if @site.valid?
|
||||
@site.save_changes
|
||||
flash[:success] = 'The domain has been successfully updated.'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue