contact-data 0.4.5 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a7f52b3bd3c32a1ac86b82e28ced5f7f269bfc04
4
- data.tar.gz: c10f5e26215b0211606828e3d516add1579b86b0
3
+ metadata.gz: 3bd73eeb2dc6f8726aed04e826ea544613dbf1be
4
+ data.tar.gz: 4fa7eea037ee61483620eec08c2cc8ad22e3fd66
5
5
  SHA512:
6
- metadata.gz: 604f9a19c7721ada56b9ec9e7371f2b6bb56705a5437264d5e110d54c435cc8c3a7f3f725bfb91ee38aab955b0b2a343a51119f6f4915e631a6b27756542a415
7
- data.tar.gz: da4a5d1d22a431a522431b9aae88cb9b421bff23a38fe520d1d19ff915cc78c157d1ca39da000484bea228d5a52ddef9b9eb6826eceef5e3b36ae70b3b5e4ed5
6
+ metadata.gz: 1952a1600bb78416bda344cd742fb589982877bfc99ec97a3e25ca7b92bcad975969c42564947749441b70e211142c006d6bd24316332108bf0158943784f95c
7
+ data.tar.gz: 388944db9157418dc472aa27bbc38c43f23e2087f5f962224f59a471a02aa3a9f535725dbc050fe5852c9981d8d9b5b96e73eb6ba78e3e2f37ff9ed7f1e42816
data/bin/ssl_doctor.rb ADDED
@@ -0,0 +1,88 @@
1
+ #!/usr/bin/env ruby
2
+ # Usage: ruby doctor.rb [HOST=status.github.com[:PORT=443]]
3
+ require 'rbconfig'
4
+ require 'net/https'
5
+
6
+ if ARGV[0] =~ /^[^-]/
7
+ host, port = ARGV[0].split(':', 2)
8
+ else
9
+ host = 'status.github.com'
10
+ end
11
+ port ||= 443
12
+
13
+ ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
14
+ ruby_version = RUBY_VERSION
15
+ if patch = RbConfig::CONFIG['PATCHLEVEL']
16
+ ruby_version += "-p#{patch}"
17
+ end
18
+ puts "%s (%s)" % [ruby, ruby_version]
19
+
20
+ openssl_dir = OpenSSL::X509::DEFAULT_CERT_AREA
21
+ mac_openssl = '/System/Library/OpenSSL' == openssl_dir
22
+ puts "%s: %s" % [OpenSSL::OPENSSL_VERSION, openssl_dir]
23
+ [OpenSSL::X509::DEFAULT_CERT_DIR_ENV, OpenSSL::X509::DEFAULT_CERT_FILE_ENV].each do |key|
24
+ puts "%s=%s" % [key, ENV[key].to_s.inspect]
25
+ end
26
+
27
+ ca_file = ENV[OpenSSL::X509::DEFAULT_CERT_FILE_ENV] || OpenSSL::X509::DEFAULT_CERT_FILE
28
+ ca_path = (ENV[OpenSSL::X509::DEFAULT_CERT_DIR_ENV] || OpenSSL::X509::DEFAULT_CERT_DIR).chomp('/')
29
+
30
+ puts "\nHEAD https://#{host}:#{port}"
31
+ http = Net::HTTP.new(host, port)
32
+ http.use_ssl = true
33
+
34
+ # Explicitly setting cert_store like this is not needed in most cases but it
35
+ # seems necessary in edge cases such as when using `verify_callback` in some
36
+ # combination of Ruby + OpenSSL versions.
37
+ http.cert_store = OpenSSL::X509::Store.new
38
+ http.cert_store.set_default_paths
39
+
40
+ http.verify_mode = OpenSSL::SSL::VERIFY_PEER
41
+ failed_cert = failed_cert_reason = nil
42
+
43
+ if mac_openssl
44
+ warn "warning: will not be able show failed certificate info on OS X's OpenSSL"
45
+ # This drives me absolutely nuts. It seems that on Rubies compiled against OS X's
46
+ # system OpenSSL, the mere fact of defining a `verify_callback` makes the
47
+ # cert verification fail for requests that would otherwise be successful.
48
+ else
49
+ http.verify_callback = lambda { |verify_ok, store_context|
50
+ if !verify_ok
51
+ failed_cert = store_context.current_cert
52
+ failed_cert_reason = "%d: %s" % [ store_context.error, store_context.error_string ]
53
+ end
54
+ verify_ok
55
+ }
56
+ end
57
+
58
+ user_agent = "net/http #{ruby_version}"
59
+ req = Net::HTTP::Head.new('/', 'user-agent' => user_agent)
60
+
61
+ begin
62
+ res = http.start { http.request(req) }
63
+ abort res.inspect if res.code.to_i >= 500
64
+ puts "OK"
65
+ rescue Errno::ECONNREFUSED
66
+ puts "Error: connection refused"
67
+ exit 1
68
+ rescue OpenSSL::SSL::SSLError => e
69
+ puts "#{e.class}: #{e.message}"
70
+
71
+ if failed_cert
72
+ puts "\nThe server presented a certificate that could not be verified:"
73
+ puts " subject: #{failed_cert.subject}"
74
+ puts " issuer: #{failed_cert.issuer}"
75
+ puts " error code %s" % failed_cert_reason
76
+ end
77
+
78
+ ca_file_missing = !File.exist?(ca_file) && !mac_openssl
79
+ ca_path_empty = Dir["#{ca_path}/*"].empty?
80
+
81
+ if ca_file_missing || ca_path_empty
82
+ puts "\nPossible causes:"
83
+ puts " `%s' does not exist" % ca_file if ca_file_missing
84
+ puts " `%s/' is empty" % ca_path if ca_path_empty
85
+ end
86
+
87
+ exit 1
88
+ end
@@ -1,4 +1,4 @@
1
1
  # Gem version
2
2
  module ContactData
3
- VERSION = '0.4.5'.freeze
3
+ VERSION = '0.4.6'.freeze
4
4
  end
@@ -0,0 +1,145 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://public.xenapto.com/api/v3/contacts/from_domain.json?domain=anthemis.com
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - "*/*; q=0.5, application/xml"
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Server:
22
+ - nginx/1.8.1
23
+ Date:
24
+ - Thu, 14 Apr 2016 11:16:30 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Content-Length:
28
+ - '163'
29
+ Connection:
30
+ - keep-alive
31
+ X-Frame-Options:
32
+ - SAMEORIGIN
33
+ X-Xss-Protection:
34
+ - 1; mode=block
35
+ X-Content-Type-Options:
36
+ - nosniff
37
+ Etag:
38
+ - W/"759b5d9178f77e2a2d0fa75ee4897054"
39
+ Cache-Control:
40
+ - max-age=0, private, must-revalidate
41
+ X-Request-Id:
42
+ - 8a791012-1cdc-464f-b602-9a51c8c7b7c2
43
+ X-Runtime:
44
+ - '0.067825'
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"contacts":[{"name":"Anthemis Group","contact_type":"organization","slug":"anthemis-group"}],"domain":"anthemis.com","contact_type":"organization","version":"v3"}'
48
+ http_version:
49
+ recorded_at: Thu, 14 Apr 2016 11:16:30 GMT
50
+ - request:
51
+ method: get
52
+ uri: http://public.xenapto.com/api/v3/contacts/from_domain.json?contact_type=person&domain=anthemis.com
53
+ body:
54
+ encoding: US-ASCII
55
+ string: ''
56
+ headers:
57
+ Accept:
58
+ - "*/*; q=0.5, application/xml"
59
+ Accept-Encoding:
60
+ - gzip, deflate
61
+ User-Agent:
62
+ - Ruby
63
+ response:
64
+ status:
65
+ code: 200
66
+ message: OK
67
+ headers:
68
+ Server:
69
+ - nginx/1.8.1
70
+ Date:
71
+ - Thu, 14 Apr 2016 11:19:36 GMT
72
+ Content-Type:
73
+ - application/json; charset=utf-8
74
+ Content-Length:
75
+ - '141'
76
+ Connection:
77
+ - keep-alive
78
+ X-Frame-Options:
79
+ - SAMEORIGIN
80
+ X-Xss-Protection:
81
+ - 1; mode=block
82
+ X-Content-Type-Options:
83
+ - nosniff
84
+ Etag:
85
+ - W/"a74f008fdc1690a80e0adce9f1c52034"
86
+ Cache-Control:
87
+ - max-age=0, private, must-revalidate
88
+ X-Request-Id:
89
+ - b67d5255-188a-431a-8ef6-8e72cf78096d
90
+ X-Runtime:
91
+ - '0.046081'
92
+ body:
93
+ encoding: UTF-8
94
+ string: '{"contacts":[{"name":"Sean Park","contact_type":"person","slug":"sean-park"}],"domain":"anthemis.com","contact_type":"person","version":"v3"}'
95
+ http_version:
96
+ recorded_at: Thu, 14 Apr 2016 11:19:36 GMT
97
+ - request:
98
+ method: get
99
+ uri: http://public.xenapto.com/api/v3/contacts/from_domain.json?contact_type=all&domain=anthemis.com
100
+ body:
101
+ encoding: US-ASCII
102
+ string: ''
103
+ headers:
104
+ Accept:
105
+ - "*/*; q=0.5, application/xml"
106
+ Accept-Encoding:
107
+ - gzip, deflate
108
+ User-Agent:
109
+ - Ruby
110
+ response:
111
+ status:
112
+ code: 200
113
+ message: OK
114
+ headers:
115
+ Server:
116
+ - nginx/1.8.1
117
+ Date:
118
+ - Thu, 14 Apr 2016 11:20:31 GMT
119
+ Content-Type:
120
+ - application/json; charset=utf-8
121
+ Content-Length:
122
+ - '218'
123
+ Connection:
124
+ - keep-alive
125
+ X-Frame-Options:
126
+ - SAMEORIGIN
127
+ X-Xss-Protection:
128
+ - 1; mode=block
129
+ X-Content-Type-Options:
130
+ - nosniff
131
+ Etag:
132
+ - W/"333d258d54d925cc51c6a0de5510466c"
133
+ Cache-Control:
134
+ - max-age=0, private, must-revalidate
135
+ X-Request-Id:
136
+ - f13a260a-ce8a-4a78-bce2-93e889be0241
137
+ X-Runtime:
138
+ - '0.135487'
139
+ body:
140
+ encoding: UTF-8
141
+ string: '{"contacts":[{"name":"Anthemis Group","contact_type":"organization","slug":"anthemis-group"},{"name":"Sean
142
+ Park","contact_type":"person","slug":"sean-park"}],"domain":"anthemis.com","contact_type":"all","version":"v3"}'
143
+ http_version:
144
+ recorded_at: Thu, 14 Apr 2016 11:20:31 GMT
145
+ recorded_with: VCR 2.9.3
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contact-data
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Xenapto
@@ -209,7 +209,8 @@ dependencies:
209
209
  description: A Ruby gem to retrieve data about people and organizations from http://public.xenapto.com
210
210
  email:
211
211
  - developers@xenapto.com
212
- executables: []
212
+ executables:
213
+ - ssl_doctor.rb
213
214
  extensions: []
214
215
  extra_rdoc_files: []
215
216
  files:
@@ -225,6 +226,7 @@ files:
225
226
  - LICENSE
226
227
  - README.md
227
228
  - Rakefile
229
+ - bin/ssl_doctor.rb
228
230
  - contact-data.gemspec
229
231
  - lib/contact-data.rb
230
232
  - lib/contact-data/contact.rb
@@ -244,6 +246,7 @@ files:
244
246
  - spec/support/cassettes/deprecated_contact_name_search.yml
245
247
  - spec/support/cassettes/deprecated_contact_search.yml
246
248
  - spec/support/cassettes/deprecated_link_metadata.yml
249
+ - spec/support/cassettes/domain_name.yml
247
250
  - spec/support/cassettes/links_info_search.yml
248
251
  - spec/support/cassettes/links_latest.yml
249
252
  - spec/support/cassettes/name_search.yml
@@ -284,6 +287,7 @@ test_files:
284
287
  - spec/support/cassettes/deprecated_contact_name_search.yml
285
288
  - spec/support/cassettes/deprecated_contact_search.yml
286
289
  - spec/support/cassettes/deprecated_link_metadata.yml
290
+ - spec/support/cassettes/domain_name.yml
287
291
  - spec/support/cassettes/links_info_search.yml
288
292
  - spec/support/cassettes/links_latest.yml
289
293
  - spec/support/cassettes/name_search.yml