Module: DomainExtractor::Auth

Defined in:
lib/domain_extractor/auth.rb

Overview

Auth module extracts authentication components from URIs Handles userinfo parsing with support for special characters and percent-encoding

Constant Summary collapse

COLON =

Frozen constants for zero allocation

':'
EMPTY_AUTH =
{
  user: nil,
  password: nil,
  userinfo: nil,
  decoded_user: nil,
  decoded_password: nil
}.freeze

Class Method Summary collapse

Class Method Details

.extract(uri) ⇒ Hash

Extract userinfo components from a URI object



24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/domain_extractor/auth.rb', line 24

def extract(uri)
  return empty_auth unless uri&.userinfo

  user, password = split_userinfo(uri.userinfo)

  {
    user: user,
    password: password,
    userinfo: uri.userinfo,
    decoded_user: decode_component(user),
    decoded_password: decode_component(password)
  }
end