reputable 0.1.16 → 0.1.17
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/Gemfile.lock +1 -1
- data/README.md +4 -0
- data/lib/reputable/middleware.rb +6 -0
- data/lib/reputable/version.rb +1 -1
- data/reputable.gemspec +38 -0
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8767ca87c7fdd5abc6584e738599020cbd6977bc6193371caeef1425eedb8dfd
|
|
4
|
+
data.tar.gz: 5196f00349ec3b380bec72db3b98c5f09d08965d297e7f43a8c639b9d1eed3dd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 36285df97965903af8e913d3f0937969ae4e48399f0468fd2e00b22d3b0e7c6d50d51682d9ec82a31483729ca7f0d69d4d0ec47115b12dce62ff01948d18b3ec
|
|
7
|
+
data.tar.gz: 6aea15486988795b5ce444581be796e33d15906c871f5cc28208d876b0604053603f455f8d16536b4879773991905f85882f56b4fed47d85b71b1ea9abb34a42
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -275,6 +275,10 @@ config.middleware.use Reputable::Middleware,
|
|
|
275
275
|
# Falls back to ENV REPUTABLE_TRACK_REQUEST if not set
|
|
276
276
|
track_request: true,
|
|
277
277
|
|
|
278
|
+
# Ignore XHR requests (default: false)
|
|
279
|
+
# Useful for suppressing tracking of background widgets or polling
|
|
280
|
+
ignore_xhr: true,
|
|
281
|
+
|
|
278
282
|
# Expose reputation flags in request env for views/controllers (default: true)
|
|
279
283
|
# Sets request.env['reputable.ignore_analytics'] for any untrusted_* status
|
|
280
284
|
expose_reputation: true
|
data/lib/reputable/middleware.rb
CHANGED
|
@@ -59,6 +59,7 @@ module Reputable
|
|
|
59
59
|
@verified_session_keys = Array(options.fetch(:verified_session_keys, [:reputable_verified_at, :reputable_verified]))
|
|
60
60
|
@blocked_page_options = options.fetch(:blocked_page, {})
|
|
61
61
|
@blocked_page_path = options[:blocked_page_path]
|
|
62
|
+
@ignore_xhr = options.fetch(:ignore_xhr, false)
|
|
62
63
|
end
|
|
63
64
|
|
|
64
65
|
def call(env)
|
|
@@ -356,6 +357,7 @@ module Reputable
|
|
|
356
357
|
|
|
357
358
|
def skip_request?(env)
|
|
358
359
|
return true if @skip_if&.call(env)
|
|
360
|
+
return true if @ignore_xhr && xhr_request?(env)
|
|
359
361
|
|
|
360
362
|
path = env["PATH_INFO"] || "/"
|
|
361
363
|
|
|
@@ -522,5 +524,9 @@ module Reputable
|
|
|
522
524
|
rescue StandardError
|
|
523
525
|
nil
|
|
524
526
|
end
|
|
527
|
+
|
|
528
|
+
def xhr_request?(env)
|
|
529
|
+
env["HTTP_X_REQUESTED_WITH"].to_s.downcase == "xmlhttprequest"
|
|
530
|
+
end
|
|
525
531
|
end
|
|
526
532
|
end
|
data/lib/reputable/version.rb
CHANGED
data/reputable.gemspec
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "lib/reputable/version"
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = "reputable"
|
|
7
|
+
spec.version = Reputable::VERSION
|
|
8
|
+
spec.authors = ["Reputable"]
|
|
9
|
+
spec.email = ["support@reputable.click"]
|
|
10
|
+
|
|
11
|
+
spec.summary = "Ruby client for Reputable - bot detection and reputation scoring"
|
|
12
|
+
spec.description = "Track requests and manage IP reputation through Redis/Dragonfly integration with Reputable"
|
|
13
|
+
spec.homepage = "https://github.com/reputable-click/reputable-rb"
|
|
14
|
+
spec.license = "MIT"
|
|
15
|
+
spec.required_ruby_version = ">= 2.7.0"
|
|
16
|
+
|
|
17
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
|
18
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
|
19
|
+
spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/CHANGELOG.md"
|
|
20
|
+
|
|
21
|
+
spec.files = Dir.chdir(__dir__) do
|
|
22
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
|
23
|
+
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)}) || f.end_with?(".gem")
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
spec.bindir = "exe"
|
|
27
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
28
|
+
spec.require_paths = ["lib"]
|
|
29
|
+
|
|
30
|
+
spec.add_dependency "redis", ">= 4.0", "< 6.0"
|
|
31
|
+
spec.add_dependency "connection_pool", "~> 2.2"
|
|
32
|
+
|
|
33
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
|
34
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
|
35
|
+
spec.add_development_dependency "rspec", "~> 3.12"
|
|
36
|
+
spec.add_development_dependency "rack", "~> 2.0"
|
|
37
|
+
spec.add_development_dependency "rubocop", "~> 1.0"
|
|
38
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: reputable
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.17
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Reputable
|
|
@@ -137,6 +137,7 @@ files:
|
|
|
137
137
|
- lib/reputable/reputation.rb
|
|
138
138
|
- lib/reputable/tracker.rb
|
|
139
139
|
- lib/reputable/version.rb
|
|
140
|
+
- reputable.gemspec
|
|
140
141
|
homepage: https://github.com/reputable-click/reputable-rb
|
|
141
142
|
licenses:
|
|
142
143
|
- MIT
|