pwned 1.2.1 → 2.0.0
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 +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>
|