Class: Abuseipdb::Client
- Inherits:
-
Object
- Object
- Abuseipdb::Client
- Defined in:
- lib/abuseipdb/client.rb
Constant Summary collapse
- ENDPOINTS =
%i[check blacklist check_block report].freeze
Instance Attribute Summary collapse
-
#configuration ⇒ Object
readonly
Returns the value of attribute configuration.
Instance Method Summary collapse
- #api_connection(url = nil) ⇒ Object
-
#initialize(configuration = Configuration.new) ⇒ Client
constructor
options api_key Your API key api_version default v2 timeout default 60 (seconds).
Constructor Details
#initialize(configuration = Configuration.new) ⇒ Client
options
api_key Your API key
api_version default v2
timeout default 60 (seconds)
24 25 26 27 |
# File 'lib/abuseipdb/client.rb', line 24 def initialize(configuration = Configuration.new) @configuration = configuration define_endpoint_methods end |
Instance Attribute Details
#configuration ⇒ Object (readonly)
Returns the value of attribute configuration.
16 17 18 |
# File 'lib/abuseipdb/client.rb', line 16 def configuration @configuration end |
Instance Method Details
#api_connection(url = nil) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/abuseipdb/client.rb', line 29 def api_connection(url = nil) url ||= "https://api.abuseipdb.com/api/#{@configuration.api_version}/" Faraday.new(url: url) do |faraday| faraday.response :logger faraday.request :json faraday.ssl.verify = false faraday.headers['Accept'] = 'application/json' faraday..timeout = @configuration.timeout # open/read timeout in seconds faraday.adapter Faraday.default_adapter if @configuration.api_key # faraday.set_authorization_header :Key, @configuration.api_key faraday.headers['Key'] = @configuration.api_key end end end |