pwned 1.2.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +15 -9
- data/CHANGELOG.md +44 -17
- data/README.md +117 -7
- data/bin/pwned +52 -0
- data/docs/NotPwnedValidator.html +23 -17
- data/docs/Pwned.html +30 -22
- data/docs/Pwned/Error.html +3 -3
- data/docs/Pwned/Password.html +60 -49
- data/docs/Pwned/TimeoutError.html +3 -3
- data/docs/PwnedValidator.html +3 -3
- data/docs/_index.html +4 -4
- data/docs/css/style.css +4 -7
- data/docs/file.README.html +147 -17
- data/docs/frames.html +1 -1
- data/docs/index.html +147 -17
- data/docs/js/app.js +55 -0
- data/docs/top-level-namespace.html +3 -3
- data/lib/pwned.rb +6 -6
- data/lib/pwned/password.rb +44 -11
- data/lib/pwned/version.rb +1 -1
- data/pwned.gemspec +10 -1
- metadata +20 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b87c90a53cd7928bf07c03d2d068e0cf2b723a183a4b57fa45bf3baafe1ba892
|
4
|
+
data.tar.gz: 6febde4b74e7c054bd15f2038873b0339b31ee7ec1dddb653c8e5d597594a33a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 171cfd15438c070259d83291d529ae2c935e7ebbf2f639a75d8b9a0428e8be02cdbf14b7150501824233a0b71638cc2aebe9835b0b565348ac6e51da62848772
|
7
|
+
data.tar.gz: af7cc5a7a0d1300874b996d2b1838264d9d9eb968b16142234bf624551c193b8a8e9975d744a71498f04ebd33b387c67abb638ea8c9a672463a6cfa4aac8d789
|
data/.travis.yml
CHANGED
@@ -3,21 +3,27 @@ language: ruby
|
|
3
3
|
|
4
4
|
env:
|
5
5
|
matrix:
|
6
|
-
- RAILS_VERSION=4.2.
|
7
|
-
- RAILS_VERSION=5.0.
|
8
|
-
- RAILS_VERSION=5.1.
|
9
|
-
- RAILS_VERSION=5.2.
|
6
|
+
- RAILS_VERSION=4.2.11.1
|
7
|
+
- RAILS_VERSION=5.0.7.2
|
8
|
+
- RAILS_VERSION=5.1.7
|
9
|
+
- RAILS_VERSION=5.2.3
|
10
|
+
- RAILS_VERSION=6.0.0
|
10
11
|
|
11
12
|
rvm:
|
12
|
-
- 2.
|
13
|
-
- 2.
|
14
|
-
- 2.
|
13
|
+
- 2.6
|
14
|
+
- 2.5
|
15
|
+
- 2.4
|
16
|
+
- 2.3
|
15
17
|
- jruby
|
16
18
|
- ruby-head
|
17
19
|
|
18
|
-
before_install: gem install bundler
|
20
|
+
before_install: gem install bundler
|
19
21
|
|
20
22
|
matrix:
|
21
23
|
allow_failures:
|
22
24
|
- rvm: ruby-head
|
23
|
-
|
25
|
+
exclude:
|
26
|
+
- rvm: 2.4
|
27
|
+
env: RAILS_VERSION=6.0.0
|
28
|
+
- rvm: 2.3
|
29
|
+
env: RAILS_VERSION=6.0.0
|
data/CHANGELOG.md
CHANGED
@@ -2,30 +2,57 @@
|
|
2
2
|
|
3
3
|
## Ongoing [☰](https://github.com/philnash/pwned/compare/v1.2.1...master)
|
4
4
|
|
5
|
-
...
|
5
|
+
## 2.0.0 (October 1, 2019) [☰](https://github.com/philnash/pwned/compare/v1.2.1...v2.0.0)
|
6
6
|
|
7
|
-
|
7
|
+
- Major updates
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
- Switches from `open-uri` to `Net::HTTP`. This is a potentially breaking change.
|
10
|
+
- `request_options` are now used to configure `Net::HTTP.start`.
|
11
|
+
- Rather than using all string keys from `request_options`, HTTP headers are now
|
12
|
+
specified in their own `headers` hash. To upgrade, any options intended as
|
13
|
+
headers need to be extracted into a `headers` hash, e.g.
|
11
14
|
|
12
|
-
|
15
|
+
```diff
|
16
|
+
validates :password, not_pwned: {
|
17
|
+
- request_options: { read_timeout: 5, open_timeout: 1, "User-Agent" => "Super fun user agent" }
|
18
|
+
+ request_options: { read_timeout: 5, open_timeout: 1, headers: { "User-Agent" => "Super fun user agent" } }
|
19
|
+
}
|
13
20
|
|
14
|
-
|
15
|
-
|
21
|
+
- password = Pwned::Password.new("password", 'User-Agent' => 'Super fun new user agent')
|
22
|
+
+ password = Pwned::Password.new("password", headers: { 'User-Agent' => 'Super fun new user agent' }, read_timeout: 10)
|
23
|
+
```
|
16
24
|
|
17
|
-
|
25
|
+
- Adds a CLI to let you check passwords on the command line
|
18
26
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
27
|
+
```bash
|
28
|
+
$ pwned password
|
29
|
+
Pwned!
|
30
|
+
The password has been found in public breaches 3730471 times.
|
31
|
+
```
|
24
32
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
33
|
+
## 1.2.1 (March 17, 2018) [☰](https://github.com/philnash/pwned/compare/v1.2.0...v1.2.1)
|
34
|
+
|
35
|
+
- Minor updates
|
36
|
+
- Validator no longer raises `TypeError` when password is `nil`
|
37
|
+
|
38
|
+
## 1.2.0 (March 15, 2018) [☰](https://github.com/philnash/pwned/compare/v1.1.0...v1.2.0)
|
39
|
+
|
40
|
+
- Major updates
|
41
|
+
- Changes `PwnedValidator` to `NotPwnedValidator`, so that the validation looks like `validates :password, not_pwned: true`. `PwnedValidator` now subclasses `NotPwnedValidator` for backwards compatibility with version 1.1.0 but is deprecated.
|
42
|
+
|
43
|
+
## 1.1.0 (March 12, 2018) [☰](https://github.com/philnash/pwned/compare/v1.0.0...v1.1.0)
|
44
|
+
|
45
|
+
- Major updates
|
46
|
+
|
47
|
+
- Refactors exception handling with built in Ruby method ([PR #1](https://github.com/philnash/pwned/pull/1) thanks [@kpumuk](https://github.com/kpumuk))
|
48
|
+
- Passwords must be strings, the initializer will raise a `TypeError` unless `password.is_a? String`. ([dbf7697](https://github.com/philnash/pwned/commit/dbf7697e878d87ac74aed1e715cee19b73473369))
|
49
|
+
- Added Ruby on Rails validator ([PR #3](https://github.com/philnash/pwned/pull/3) & [PR #6](https://github.com/philnash/pwned/pull/6))
|
50
|
+
- Added simplified accessors `Pwned.pwned?` and `Pwned.pwned_count` ([PR #4](https://github.com/philnash/pwned/pull/4))
|
51
|
+
|
52
|
+
- Minor updates
|
53
|
+
- SHA1 is only calculated once
|
54
|
+
- Frozen string literal to make sure Ruby does not copy strings over and over again
|
55
|
+
- Removal of `@match_data`, since we only use it to retrieve the counter. Caching the counter instead (all [PR #2](https://github.com/philnash/pwned/pull/2) thanks [@kpumuk](https://github.com/kpumuk))
|
29
56
|
|
30
57
|
## 1.0.0 (March 6, 2018) [☰](https://github.com/philnash/pwned/commits/v1.0.0)
|
31
58
|
|
data/README.md
CHANGED
@@ -6,6 +6,21 @@ An easy, Ruby way to use the Pwned Passwords API.
|
|
6
6
|
|
7
7
|
[API docs](https://philnash.github.io/pwned/) | [GitHub repo](https://github.com/philnash/pwned)
|
8
8
|
|
9
|
+
## Table of Contents
|
10
|
+
|
11
|
+
* [About](#about)
|
12
|
+
* [Installation](#installation)
|
13
|
+
* [Usage](#usage)
|
14
|
+
* [Plain Ruby](#plain-ruby)
|
15
|
+
* [Rails (ActiveRecord)](#activerecord-validator)
|
16
|
+
* [Devise](#devise)
|
17
|
+
* [Command line](#command-line)
|
18
|
+
* [How Pwned is Pi?](#how-pwned-is-pi)
|
19
|
+
* [Development](#development)
|
20
|
+
* [Contributing](#contributing)
|
21
|
+
* [License](#license)
|
22
|
+
* [Code of Conduct](#code-of-conduct)
|
23
|
+
|
9
24
|
## About
|
10
25
|
|
11
26
|
Troy Hunt's [Pwned Passwords API V2](https://haveibeenpwned.com/API/v2#PwnedPasswords) allows you to check if a password has been found in any of the huge data breaches.
|
@@ -14,6 +29,8 @@ Troy Hunt's [Pwned Passwords API V2](https://haveibeenpwned.com/API/v2#PwnedPass
|
|
14
29
|
|
15
30
|
The data from this API is provided by [Have I been pwned?](https://haveibeenpwned.com/). Before using the API, please check [the acceptable uses and license of the API](https://haveibeenpwned.com/API/v2#AcceptableUse).
|
16
31
|
|
32
|
+
Here is a blog post I wrote on [how to use this gem in your Ruby applications to make your users' passwords better](https://www.twilio.com/blog/2018/03/better-passwords-in-ruby-applications-pwned-passwords-api.html).
|
33
|
+
|
17
34
|
## Installation
|
18
35
|
|
19
36
|
Add this line to your application's Gemfile:
|
@@ -32,6 +49,14 @@ Or install it yourself as:
|
|
32
49
|
|
33
50
|
## Usage
|
34
51
|
|
52
|
+
There are a few ways you can use this gem:
|
53
|
+
|
54
|
+
1. [Plain Ruby](#plain-ruby)
|
55
|
+
2. [Rails](#activerecord-validator)
|
56
|
+
3. [Rails and Devise](#devise)
|
57
|
+
|
58
|
+
### Plain Ruby
|
59
|
+
|
35
60
|
To test a password against the API, instantiate a `Pwned::Password` object and then ask if it is `pwned?`.
|
36
61
|
|
37
62
|
```ruby
|
@@ -72,10 +97,11 @@ Pwned.pwned_count("password")
|
|
72
97
|
|
73
98
|
#### Advanced
|
74
99
|
|
75
|
-
You can set
|
100
|
+
You can set http request options to be used with `Net::HTTP.start` when making the request to the API. These options are
|
101
|
+
documented in the [`Net::HTTP.start` documentation](http://ruby-doc.org/stdlib-2.6.3/libdoc/net/http/rdoc/Net/HTTP.html#method-c-start). The `:headers` option defines defines HTTP headers. These headers must be string keys.
|
76
102
|
|
77
103
|
```ruby
|
78
|
-
password = Pwned::Password.new("password", { 'User-Agent' => 'Super fun new user agent' })
|
104
|
+
password = Pwned::Password.new("password", headers: { 'User-Agent' => 'Super fun new user agent' }, read_timeout: 10)
|
79
105
|
```
|
80
106
|
|
81
107
|
### ActiveRecord Validator
|
@@ -113,7 +139,7 @@ class User < ApplicationRecord
|
|
113
139
|
end
|
114
140
|
```
|
115
141
|
|
116
|
-
#### Network
|
142
|
+
#### Network Error Handling
|
117
143
|
|
118
144
|
By default the record will be treated as valid when we cannot reach the [haveibeenpwned.com](https://haveibeenpwned.com/) servers. This can be changed with the `:on_error` validator parameter:
|
119
145
|
|
@@ -145,17 +171,101 @@ end
|
|
145
171
|
|
146
172
|
#### Custom Request Options
|
147
173
|
|
148
|
-
You can configure network requests made from the validator using `:request_options` (see [
|
174
|
+
You can configure network requests made from the validator using `:request_options` (see [Net::HTTP.start](http://ruby-doc.org/stdlib-2.6.3/libdoc/net/http/rdoc/Net/HTTP.html#method-c-start) for the list of available options).
|
175
|
+
In addition to these options, HTTP headers can be specified with the `:headers` key, e.g. `"User-Agent"`):
|
149
176
|
|
150
177
|
```ruby
|
151
178
|
validates :password, not_pwned: {
|
152
|
-
request_options: { read_timeout: 5, open_timeout: 1, "User-Agent" => "Super fun user agent" }
|
179
|
+
request_options: { read_timeout: 5, open_timeout: 1, headers: { "User-Agent" => "Super fun user agent" } }
|
153
180
|
}
|
154
181
|
```
|
155
182
|
|
156
|
-
|
183
|
+
### Devise
|
184
|
+
|
185
|
+
If you are using Devise I recommend you use the [devise-pwned_password extension](https://github.com/michaelbanfield/devise-pwned_password) which is now powered by this gem.
|
186
|
+
|
187
|
+
### Command line
|
188
|
+
|
189
|
+
The gem provides a command line utility for checking passwords. You can call it from your terminal application like this:
|
190
|
+
|
191
|
+
```bash
|
192
|
+
$ pwned password
|
193
|
+
Pwned!
|
194
|
+
The password has been found in public breaches 3645804 times.
|
195
|
+
```
|
196
|
+
|
197
|
+
If you don't want the password you are checking to be visible, call:
|
198
|
+
|
199
|
+
```bash
|
200
|
+
$ pwned --secret
|
201
|
+
```
|
202
|
+
|
203
|
+
You will be prompted for the password, but it won't be displayed.
|
204
|
+
|
205
|
+
## How Pwned is Pi?
|
206
|
+
|
207
|
+
[@daz](https://github.com/daz) [shared](https://twitter.com/dazonic/status/1074647842046660609) a fantastic example of using this gem to show how many times the digits of Pi have been used as passwords and leaked.
|
208
|
+
|
209
|
+
```ruby
|
210
|
+
require 'pwned'
|
211
|
+
|
212
|
+
PI = '3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111'
|
213
|
+
|
214
|
+
for n in 1..40
|
215
|
+
password = Pwned::Password.new PI[0..(n + 1)]
|
216
|
+
str = [ n.to_s.rjust(2) ]
|
217
|
+
str << (password.pwned? ? '😡' : '😃')
|
218
|
+
str << password.pwned_count.to_s.rjust(4)
|
219
|
+
str << password.password
|
157
220
|
|
158
|
-
|
221
|
+
puts str.join ' '
|
222
|
+
end
|
223
|
+
```
|
224
|
+
|
225
|
+
The results may, or may not, surprise you.
|
226
|
+
|
227
|
+
```
|
228
|
+
1 😡 16 3.1
|
229
|
+
2 😡 238 3.14
|
230
|
+
3 😡 34 3.141
|
231
|
+
4 😡 1345 3.1415
|
232
|
+
5 😡 2552 3.14159
|
233
|
+
6 😡 791 3.141592
|
234
|
+
7 😡 9582 3.1415926
|
235
|
+
8 😡 1591 3.14159265
|
236
|
+
9 😡 637 3.141592653
|
237
|
+
10 😡 873 3.1415926535
|
238
|
+
11 😡 137 3.14159265358
|
239
|
+
12 😡 103 3.141592653589
|
240
|
+
13 😡 65 3.1415926535897
|
241
|
+
14 😡 201 3.14159265358979
|
242
|
+
15 😡 41 3.141592653589793
|
243
|
+
16 😡 57 3.1415926535897932
|
244
|
+
17 😡 28 3.14159265358979323
|
245
|
+
18 😡 29 3.141592653589793238
|
246
|
+
19 😡 1 3.1415926535897932384
|
247
|
+
20 😡 7 3.14159265358979323846
|
248
|
+
21 😡 5 3.141592653589793238462
|
249
|
+
22 😡 2 3.1415926535897932384626
|
250
|
+
23 😡 2 3.14159265358979323846264
|
251
|
+
24 😃 0 3.141592653589793238462643
|
252
|
+
25 😡 3 3.1415926535897932384626433
|
253
|
+
26 😃 0 3.14159265358979323846264338
|
254
|
+
27 😃 0 3.141592653589793238462643383
|
255
|
+
28 😃 0 3.1415926535897932384626433832
|
256
|
+
29 😃 0 3.14159265358979323846264338327
|
257
|
+
30 😃 0 3.141592653589793238462643383279
|
258
|
+
31 😃 0 3.1415926535897932384626433832795
|
259
|
+
32 😃 0 3.14159265358979323846264338327950
|
260
|
+
33 😃 0 3.141592653589793238462643383279502
|
261
|
+
34 😃 0 3.1415926535897932384626433832795028
|
262
|
+
35 😃 0 3.14159265358979323846264338327950288
|
263
|
+
36 😃 0 3.141592653589793238462643383279502884
|
264
|
+
37 😃 0 3.1415926535897932384626433832795028841
|
265
|
+
38 😃 0 3.14159265358979323846264338327950288419
|
266
|
+
39 😃 0 3.141592653589793238462643383279502884197
|
267
|
+
40 😃 0 3.1415926535897932384626433832795028841971
|
268
|
+
```
|
159
269
|
|
160
270
|
## Development
|
161
271
|
|
data/bin/pwned
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'pwned'
|
4
|
+
require 'optparse'
|
5
|
+
require 'io/console'
|
6
|
+
|
7
|
+
options = {}
|
8
|
+
parser = OptionParser.new do |opts|
|
9
|
+
opts.banner = <<-USAGE
|
10
|
+
Usage: pwned <password>
|
11
|
+
|
12
|
+
Tests a password against the Pwned Passwords API using the k-anonymity model,
|
13
|
+
which avoids sending the entire password to the service.opts
|
14
|
+
|
15
|
+
If the password has been found in a publicly available breach then this tool
|
16
|
+
will report how many times it has been seen. Otherwise the tool will report that
|
17
|
+
the password has not been found in a public breach yet.
|
18
|
+
|
19
|
+
USAGE
|
20
|
+
|
21
|
+
opts.version = Pwned::VERSION
|
22
|
+
|
23
|
+
opts.on("-s", "--secret", "Enter password without displaying characters.\n#{" "* 37}Overrides provided arguments.")
|
24
|
+
opts.on_tail("-h", "--help", "Show help.")
|
25
|
+
opts.on_tail("-v", "--version", "Show version number.\n\n")
|
26
|
+
end
|
27
|
+
|
28
|
+
parser.parse!(ARGV, into: options)
|
29
|
+
|
30
|
+
if options[:help]
|
31
|
+
puts parser.help
|
32
|
+
exit
|
33
|
+
end
|
34
|
+
if options[:version]
|
35
|
+
puts parser.ver
|
36
|
+
exit
|
37
|
+
end
|
38
|
+
password_to_test = ARGV.first
|
39
|
+
if options[:secret]
|
40
|
+
password_to_test = STDIN.getpass("Password: ")
|
41
|
+
end
|
42
|
+
if !password_to_test || password_to_test.strip == ""
|
43
|
+
puts parser.help
|
44
|
+
exit
|
45
|
+
end
|
46
|
+
password = Pwned::Password.new(password_to_test || ARGV.first)
|
47
|
+
if password.pwned?
|
48
|
+
puts "Pwned!\nThe password has been found in public breaches #{password.pwned_count} times."
|
49
|
+
else
|
50
|
+
puts "The password has not been found in a public breach."
|
51
|
+
end
|
52
|
+
|
data/docs/NotPwnedValidator.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: NotPwnedValidator
|
8
8
|
|
9
|
-
— Documentation by YARD 0.9.
|
9
|
+
— Documentation by YARD 0.9.20
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -194,11 +194,16 @@ various ways</p>
|
|
194
194
|
<p class="children"><span class='object_link'><a href="PwnedValidator.html" title="PwnedValidator (class)">PwnedValidator</a></span></p>
|
195
195
|
</div>
|
196
196
|
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
<
|
201
|
-
|
197
|
+
|
198
|
+
<h2>
|
199
|
+
Constant Summary
|
200
|
+
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
|
201
|
+
</h2>
|
202
|
+
|
203
|
+
<dl class="constants">
|
204
|
+
|
205
|
+
<dt id="DEFAULT_ON_ERROR-constant" class="">DEFAULT_ON_ERROR =
|
206
|
+
<div class="docstring">
|
202
207
|
<div class="discussion">
|
203
208
|
|
204
209
|
<p>The default behaviour of this validator in the case of an API failure. The
|
@@ -228,11 +233,11 @@ invalid.</p>
|
|
228
233
|
</ul>
|
229
234
|
|
230
235
|
</div>
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
+
</dt>
|
237
|
+
<dd><pre class="code"><span class='symbol'>:valid</span></pre></dd>
|
238
|
+
|
239
|
+
<dt id="DEFAULT_THRESHOLD-constant" class="">DEFAULT_THRESHOLD =
|
240
|
+
<div class="docstring">
|
236
241
|
<div class="discussion">
|
237
242
|
|
238
243
|
<p>The default threshold for whether a breach is considered pwned. The default
|
@@ -262,10 +267,11 @@ invalid.</p>
|
|
262
267
|
</ul>
|
263
268
|
|
264
269
|
</div>
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
270
|
+
</dt>
|
271
|
+
<dd><pre class="code"><span class='int'>0</span></pre></dd>
|
272
|
+
|
273
|
+
</dl>
|
274
|
+
|
269
275
|
|
270
276
|
|
271
277
|
|
@@ -478,9 +484,9 @@ validation</p>
|
|
478
484
|
</div>
|
479
485
|
|
480
486
|
<div id="footer">
|
481
|
-
Generated on
|
487
|
+
Generated on Tue Oct 1 21:19:37 2019 by
|
482
488
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
483
|
-
0.9.
|
489
|
+
0.9.20 (ruby-2.5.5).
|
484
490
|
</div>
|
485
491
|
|
486
492
|
</div>
|
data/docs/Pwned.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Module: Pwned
|
8
8
|
|
9
|
-
— Documentation by YARD 0.9.
|
9
|
+
— Documentation by YARD 0.9.20
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -108,11 +108,16 @@ getting the results for a password.</p>
|
|
108
108
|
|
109
109
|
</p>
|
110
110
|
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
<
|
115
|
-
|
111
|
+
|
112
|
+
<h2>
|
113
|
+
Constant Summary
|
114
|
+
<small><a href="#" class="constants_summary_toggle">collapse</a></small>
|
115
|
+
</h2>
|
116
|
+
|
117
|
+
<dl class="constants">
|
118
|
+
|
119
|
+
<dt id="VERSION-constant" class="">VERSION =
|
120
|
+
<div class="docstring">
|
116
121
|
<div class="discussion">
|
117
122
|
|
118
123
|
<p>The current version of the <code>pwned</code> gem.</p>
|
@@ -124,10 +129,11 @@ getting the results for a password.</p>
|
|
124
129
|
|
125
130
|
|
126
131
|
</div>
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
132
|
+
</dt>
|
133
|
+
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>2.0.0</span><span class='tstring_end'>"</span></span></pre></dd>
|
134
|
+
|
135
|
+
</dl>
|
136
|
+
|
131
137
|
|
132
138
|
|
133
139
|
|
@@ -259,7 +265,8 @@ getting the results for a password.</p>
|
|
259
265
|
|
260
266
|
—
|
261
267
|
<div class='inline'>
|
262
|
-
<p>Options that can be passed to <code>
|
268
|
+
<p>Options that can be passed to <code>Net::HTTP.start</code> when calling the
|
269
|
+
API</p>
|
263
270
|
</div>
|
264
271
|
|
265
272
|
</li>
|
@@ -275,17 +282,17 @@ getting the results for a password.</p>
|
|
275
282
|
<ul class="option">
|
276
283
|
|
277
284
|
<li>
|
278
|
-
<span class="name"
|
279
|
-
<span class="type">(<tt>
|
285
|
+
<span class="name">:headers</span>
|
286
|
+
<span class="type">(<tt>Symbol</tt>)</span>
|
280
287
|
<span class="default">
|
281
288
|
|
282
289
|
— default:
|
283
|
-
<tt
|
290
|
+
<tt>{ "User-Agent" => '"Ruby Pwned::Password #{Pwned::VERSION}" }</tt>
|
284
291
|
|
285
292
|
</span>
|
286
293
|
|
287
294
|
— <div class='inline'>
|
288
|
-
<p>
|
295
|
+
<p>HTTP headers to include in the request</p>
|
289
296
|
</div>
|
290
297
|
|
291
298
|
</li>
|
@@ -408,7 +415,8 @@ getting the results for a password.</p>
|
|
408
415
|
|
409
416
|
—
|
410
417
|
<div class='inline'>
|
411
|
-
<p>Options that can be passed to <code>
|
418
|
+
<p>Options that can be passed to <code>Net::HTTP.start</code> when calling the
|
419
|
+
API</p>
|
412
420
|
</div>
|
413
421
|
|
414
422
|
</li>
|
@@ -424,17 +432,17 @@ getting the results for a password.</p>
|
|
424
432
|
<ul class="option">
|
425
433
|
|
426
434
|
<li>
|
427
|
-
<span class="name"
|
428
|
-
<span class="type">(<tt>
|
435
|
+
<span class="name">:headers</span>
|
436
|
+
<span class="type">(<tt>Symbol</tt>)</span>
|
429
437
|
<span class="default">
|
430
438
|
|
431
439
|
— default:
|
432
|
-
<tt
|
440
|
+
<tt>{ "User-Agent" => '"Ruby Pwned::Password #{Pwned::VERSION}" }</tt>
|
433
441
|
|
434
442
|
</span>
|
435
443
|
|
436
444
|
— <div class='inline'>
|
437
|
-
<p>
|
445
|
+
<p>HTTP headers to include in the request</p>
|
438
446
|
</div>
|
439
447
|
|
440
448
|
</li>
|
@@ -503,9 +511,9 @@ getting the results for a password.</p>
|
|
503
511
|
</div>
|
504
512
|
|
505
513
|
<div id="footer">
|
506
|
-
Generated on
|
514
|
+
Generated on Tue Oct 1 21:19:37 2019 by
|
507
515
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
508
|
-
0.9.
|
516
|
+
0.9.20 (ruby-2.5.5).
|
509
517
|
</div>
|
510
518
|
|
511
519
|
</div>
|