# 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