# File lib/webrick/httpauth.rb, line 21 21: def _basic_auth(req, res, realm, req_field, res_field, err_type, block) 22: user = pass = nil 23: if /^Basic\s+(.*)/o =~ req[req_field] 24: userpass = $1 25: user, pass = userpass.unpack("m*")[0].split(":", 2) 26: end 27: if block.call(user, pass) 28: req.user = user 29: return 30: end 31: res[res_field] = "Basic realm=\"#{realm}\"" 32: raise err_type 33: end
# File lib/webrick/httpauth.rb, line 35 35: def basic_auth(req, res, realm, &block) 36: _basic_auth(req, res, realm, "Authorization", "WWW-Authenticate", 37: HTTPStatus::Unauthorized, block) 38: end