summaryrefslogtreecommitdiff
path: root/spec/bundler/support/artifice/compact_index_strict_basic_authentication.rb
blob: 7d427b5382e12f5cf910631defc97030d348288d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# frozen_string_literal: true

require_relative "compact_index"

Artifice.deactivate

class CompactIndexStrictBasicAuthentication < CompactIndexAPI
  before do
    unless env["HTTP_AUTHORIZATION"]
      halt 401, "Authentication info not supplied"
    end

    # Only accepts password == "password"
    unless env["HTTP_AUTHORIZATION"] == "Basic dXNlcjpwYXNz"
      halt 403, "Authentication failed"
    end
  end
end

Artifice.activate_with(CompactIndexStrictBasicAuthentication)