<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>test/basic_test.rb</filename>
    </added>
    <added>
      <filename>test/digest_test.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,7 +1,7 @@
 Http Authentication
 ===================
 
-Makes it dead easy to do HTTP authentication using either the vanilla Basic or the more advanced Digest approach.
+Makes it dead easy to do HTTP Basic authentication.
 
 Simple Basic example:
 
@@ -69,9 +69,10 @@ In your integration tests, you can do something like this:
     assert_equal 200, status
   end
 
+
 Todo:
 
-* Implement Digest authentication scheme
+* Implement Digest authentication scheme (be a hero, implement it!)
 
 
 References:</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,2 @@
-require 'http_authentication/basic'
\ No newline at end of file
+require 'http_authentication/basic'
+# IMPLEMENT ME: require 'http_authentication/digest' 
\ No newline at end of file</diff>
      <filename>lib/http_authentication.rb</filename>
    </modified>
    <modified>
      <diff>@@ -21,11 +21,7 @@ module HttpAuthentication
     end
 
     def user_name_and_password(request)
-      Base64.decode64(credentials(request)).split(/:/, 2)
-    end
-  
-    def credentials(request)
-      authorization(request).split.last
+      decode_credentials(request).split(/:/, 2)
     end
   
     def authorization(request)
@@ -34,8 +30,16 @@ module HttpAuthentication
       request.env['X_HTTP_AUTHORIZATION']
     end
   
+    def decode_credentials(request)
+      # Fancy nouncing goes here
+    end
+
+    def encode_credentials(user_name, password)
+      # You compute me
+    end
+
     def authentication_request(controller, realm)
-      controller.headers[&quot;WWW-Authenticate&quot;] = %(Basic realm=&quot;#{realm.gsub(/&quot;/, &quot;&quot;)}&quot;)
+      # Proper headers
       controller.render :text =&gt; &quot;Access denied.\n&quot;, :status =&gt; :unauthorized
       return false    
     end</diff>
      <filename>lib/http_authentication/digest.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>test/http_authentication_test.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>60b1566acbc6cc2942fdfb2ed827bb84f75be3f5</id>
    </parent>
  </parents>
  <author>
    <name>David Heinemeier Hansson</name>
    <email>david@loudthinking.com</email>
  </author>
  <url>http://github.com/rails/http_authentication/commit/ad743c1409faf7d76006f6d6c047f045ed0c3212</url>
  <id>ad743c1409faf7d76006f6d6c047f045ed0c3212</id>
  <committed-date>2006-12-02T17:05:49-08:00</committed-date>
  <authored-date>2006-12-02T17:05:49-08:00</authored-date>
  <message>Make it invitingly easy for someone to implement digest authentication -- come on, you can do it!</message>
  <tree>89db80a24edca65429e99363b403ae532e362de9</tree>
  <committer>
    <name>David Heinemeier Hansson</name>
    <email>david@loudthinking.com</email>
  </committer>
</commit>
