# File wfo/auth.rb, line 54
  def self.apache_authtypekey_handler(webclient, response)
    uri = response.uri
    errpage = response.body
    return nil if />Log in via TypeKey</ !~ errpage
    # It seems a login page generated by login.pl in Apache-AuthTypeKey.
    typekey_uri = nil
    HTree(errpage).traverse_element("{http://www.w3.org/1999/xhtml}a") {|e|
      if href = e.get_attr('href')
        href = URI(href)
        if href.host == 'www.typekey.com'
          typekey_uri = href
          break
        end
      end
    }
    return nil if !typekey_uri

    response = typekey_login(webclient, typekey_uri)
    return nil if response.code != '302'
    #destination_uri = URI(resp['Location'])

    # use uri instead of destination_uri because www.codeblog.org's login.pl
    # had a URI escaping problem.

    return WFO::ReqHTTP.get(uri)
  end