Sha256: 0c1935ad281d667ba351d561a92028b156546c6ccd9a4348e1e5e6bc6e2bb7da
Contents?: true
Size: 960 Bytes
Versions: 8
Compression:
Stored size: 960 Bytes
Contents
require 'webrick' require 'tempfile' class AuthServlet < WEBrick::HTTPServlet::AbstractServlet @instance = nil def self.get_instance server, *options @instance ||= new(server, *options) end def initialize server super server config = {} config[:Realm] = 'net-http-digest_auth' config[:UseOpaque] = false config[:AutoReloadUserDB] = false passwd_file = Tempfile.new 'net-http-digest_auth' passwd_file.close htpasswd = WEBrick::HTTPAuth::Htpasswd.new passwd_file.path htpasswd.auth_type = WEBrick::HTTPAuth::DigestAuth htpasswd.set_passwd config[:Realm], 'username', 'password' htpasswd.flush config[:UserDB] = htpasswd @digest_auth = WEBrick::HTTPAuth::DigestAuth.new config end def do_GET req, res @digest_auth.authenticate req, res res.body = 'worked!' end end s = WEBrick::HTTPServer.new :Port => 8000 s.mount '/', AuthServlet trap 'INT' do s.shutdown end s.start
Version data entries
8 entries across 8 versions & 2 rubygems