@@ -0,0 +1,7 @@ |
||
1 |
+To Do |
|
2 |
+====== |
|
3 |
+ |
|
4 |
+- Repeated requests to the same domain, ends up causing a block. This app should be storing queries for 12-24 hours. |
|
5 |
+ |
|
6 |
+- add some error checking |
|
7 |
+ |
@@ -8,13 +8,31 @@ get '/' do |
||
8 | 8 |
end |
9 | 9 |
|
10 | 10 |
get '/lookup' do |
11 |
- @lookup_url = params[:url] |
|
12 |
- @lookup_info = Whois.query(params[:url]).to_s.gsub(/\n/, '<br>') |
|
11 |
+ @lookup_info = Whois.query(params[:url]) |
|
12 |
+ @formatted_response = { |
|
13 |
+ "domain" => @lookup_info.domain, |
|
14 |
+ "created_on" => @lookup_info.created_on, |
|
15 |
+ "expires_on" => @lookup_info.expires_on, |
|
16 |
+ "whois_server" => @lookup_info.referral_whois, |
|
17 |
+ "nameservers" => @lookup_info.nameservers, |
|
18 |
+ "admin_contacts" => @lookup_info.admin_contacts, |
|
19 |
+ "techical_contacts" => @lookup_info.technical_contacts, |
|
20 |
+ "detailed" => @lookup_info.to_s.gsub(/\n/, '<br>') |
|
21 |
+ } |
|
22 |
+ puts @lookup_info.admin_contacts |
|
13 | 23 |
haml :lookup |
14 | 24 |
end |
15 | 25 |
|
16 | 26 |
get '/lookup.json' do |
17 | 27 |
@lookup_info = Whois.query(params[:url]) |
18 | 28 |
content_type :json |
19 |
- @lookup_info.to_json |
|
29 |
+ { :domain => @lookup_info.domain, |
|
30 |
+ :created_on => @lookup_info.created_on, |
|
31 |
+ :expires_on => @lookup_info.expires_on, |
|
32 |
+ :whois_server => @lookup_info.referral_whois, |
|
33 |
+ :nameservers => @lookup_info.nameservers, |
|
34 |
+ :admin_contacts => @lookup_info.admin_contacts, |
|
35 |
+ :techical_contacts => @lookup_info.technical_contacts, |
|
36 |
+ :detailed => @lookup_info |
|
37 |
+ }.to_json |
|
20 | 38 |
end |
@@ -3,7 +3,7 @@ |
||
3 | 3 |
%head |
4 | 4 |
%title A free whois API service |
5 | 5 |
%body |
6 |
- %p "Go to whois.com/jasonormand.com" |
|
6 |
+ %p Just enter a URL, to do a WHOIS lookup. |
|
7 | 7 |
|
8 | 8 |
%form{ :action => "/lookup", :method => "get"} |
9 | 9 |
%input{ :type => "text", :name => "url"} |
@@ -3,8 +3,37 @@ |
||
3 | 3 |
%head |
4 | 4 |
%title A free whois API service |
5 | 5 |
%body |
6 |
- %div{:style => "border: solid 5px black; padding: 15px; margin-bottom: 15px;"} |
|
7 |
- = @lookup_url |
|
8 |
- %div{:style => "border: solid 5px black; padding: 15px;"} |
|
9 |
- = @lookup_info |
|
6 |
+ |
|
7 |
+ %h3 URL |
|
8 |
+ %div{:style => "border: solid 1px black; padding: 10px; border-radius: 15px"} |
|
9 |
+ = @formatted_response["domain"] |
|
10 |
+ |
|
11 |
+ %h3 Admin Contact |
|
12 |
+ %div{:style => "border: solid 1px black; padding: 10px; border-radius: 15px"} |
|
13 |
+ = @formatted_response["admin_contacts"] |
|
14 |
+ |
|
15 |
+ %h3 Technical Contact |
|
16 |
+ %div{:style => "border: solid 1px black; padding: 10px; border-radius: 15px"} |
|
17 |
+ = @formatted_response["technical_contacts"] |
|
18 |
+ |
|
19 |
+ %h3 Create Date |
|
20 |
+ %div{:style => "border: solid 1px black; padding: 10px; border-radius: 15px"} |
|
21 |
+ = @formatted_response["created_on"] |
|
22 |
+ |
|
23 |
+ %h3 Expire Date |
|
24 |
+ %div{:style => "border: solid 1px black; padding: 10px; border-radius: 15px"} |
|
25 |
+ = @formatted_response["expires_on"] |
|
26 |
+ |
|
27 |
+ %h3 WHOIS Server |
|
28 |
+ %div{:style => "border: solid 1px black; padding: 10px; border-radius: 15px"} |
|
29 |
+ = @formatted_response["whois_server"] |
|
30 |
+ |
|
31 |
+ %h3 Nameservers |
|
32 |
+ %div{:style => "border: solid 1px black; padding: 10px; border-radius: 15px"} |
|
33 |
+ - @formatted_response["nameservers"].each do |name| |
|
34 |
+ = name.to_s + " <br />" |
|
35 |
+ |
|
36 |
+ %h3 Detailed Response |
|
37 |
+ %div{:style => "border: solid 1px black; padding: 10px; border-radius: 15px"} |
|
38 |
+ = @formatted_response["detailed"] |
|
10 | 39 |
|