Class: XposedOrNot::Client

Inherits:
Object
  • Object
show all
Includes:
Endpoints::Breaches, Endpoints::Email, Endpoints::Password
Defined in:
lib/xposedornot/client.rb

Overview

Main client for interacting with the XposedOrNot API.

Examples:

Free API usage

client = XposedOrNot::Client.new
result = client.check_email("test@example.com")

Plus API usage

client = XposedOrNot::Client.new(api_key: "your-api-key")
result = client.check_email("test@example.com")

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Endpoints::Password

#check_password

Methods included from Endpoints::Breaches

#get_breaches, #get_domain_breaches

Methods included from Endpoints::Email

#breach_analytics, #check_email

Constructor Details

#initialize(api_key: nil, **options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • api_key (String, nil) (defaults to: nil)

    API key for Plus API access

  • options (Hash)

    additional configuration options

Options Hash (**options):

  • :base_url (String)

    override default free API base URL

  • :plus_base_url (String)

    override default Plus API base URL

  • :passwords_base_url (String)

    override default passwords API base URL

  • :timeout (Integer)

    request timeout in seconds

  • :max_retries (Integer)

    max retries on 429 responses

  • :custom_headers (Hash)

    additional headers



33
34
35
36
37
# File 'lib/xposedornot/client.rb', line 33

def initialize(api_key: nil, **options)
  @config = Configuration.new(api_key: api_key, **options)
  @last_request_time = nil
  @mutex = Mutex.new
end

Instance Attribute Details

#configConfiguration (readonly)

Returns the client configuration.

Returns:



23
24
25
# File 'lib/xposedornot/client.rb', line 23

def config
  @config
end