class NTLMServlet

Public Instance Methods

do_GET(req, res) click to toggle source
# File lib/mechanize/test_case.rb, line 369
def do_GET(req, res)
  if req['Authorization'] =~ %r^NTLM (.*)/ then
    authorization = $1.unpack('m*').first

    if authorization =~ %r^NTLMSSP\0000\0001/ then
      type_2 = 'TlRMTVNTUAACAAAADAAMADAAAAABAoEAASNFZ4mr'            'ze8AAAAAAAAAAGIAYgA8AAAARABPAE0AQQBJAE4A'            'AgAMAEQATwBNAEEASQBOAAEADABTAEUAUgBWAEUA'            'UgAEABQAZABvAG0AYQBpAG4ALgBjAG8AbQADACIA'            'cwBlAHIAdgBlAHIALgBkAG8AbQBhAGkAbgAuAGMA'            'bwBtAAAAAAA='

      res['WWW-Authenticate'] = "NTLM #{type_2}"
      res.status = 401
    elsif authorization =~ %r^NTLMSSP\0000\0003/ then
      res.body = 'ok'
    else
      res['WWW-Authenticate'] = 'NTLM'
      res.status = 401
    end
  else
    res['WWW-Authenticate'] = 'NTLM'
    res.status = 401
  end
end