Class: Badsec::User

Inherits:
Object
  • Object
show all
Defined in:
lib/noclist/badsec.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.calc_checksum(auth_token) ⇒ Object



32
33
34
# File 'lib/noclist/badsec.rb', line 32

def self.calc_checksum(auth_token)
  checksum = Digest::SHA256.hexdigest "#{auth_token}/users"
end

.get_auth_tokenObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/noclist/badsec.rb', line 8

def self.get_auth_token
  begin
    retries ||= 0

    response = HTTParty.get('http://0.0.0.0:8888/auth')

    if response.code != 200
      STDERR.puts "Response: #{response.code}, #{response.message}"
    end

    auth_token = response.headers["badsec-authentication-token"]
  rescue => e
    STDERR.puts "Exception: #{e.message}"

    if (retries += 1) < 3
      puts "Retrying..."
      retry
    else
      STDERR.puts "Exiting with status code: 1"
      exit
    end
  end
end

.get_users(checksum) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/noclist/badsec.rb', line 36

def self.get_users(checksum)
  begin
    retries ||= 0

    users_response = HTTParty.get('http://0.0.0.0:8888/users',
    :headers => { 'X-Request-Checksum' => "#{checksum.upcase}" })

    if users_response.code != 200
      STDERR.puts "Response: #{users_response.code}, #{users_response.message}"
    else
      print format(users_response) unless ENV['GEM_ENV'] == 'TEST'
    end

    users_response
  rescue => e
    STDERR.puts "Exception: #{e.message}"
    if (retries += 1) < 3
      puts "Retrying..."
      retry
    else
      STDERR.puts "Exiting with status code: 1"
      exit
    end
  end
end

Instance Method Details

#format(users_response) ⇒ Object



62
63
64
# File 'lib/noclist/badsec.rb', line 62

def format(users_response)
  JSON.parse(users_response.body.split.to_json)
end