<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -23,10 +23,14 @@ class Exceptions &lt; Merb::Controller
   end
   
   def unauthenticated
-    render :template =&gt; &quot;../../slices/merb-auth-slice-password/app/views/exceptions/unauthenticated&quot;
+    if content_type == :html
+      render :template =&gt; &quot;../../slices/merb-auth-slice-password/app/views/exceptions/unauthenticated&quot;
+    else
+      return &quot;&quot;
+    end
   end
   
   def number_of_columns
     1
   end
-end
\ No newline at end of file
+end</diff>
      <filename>app/controllers/exceptions.rb</filename>
    </modified>
    <modified>
      <diff>@@ -16,9 +16,7 @@ module Merb::Authentication::Strategies
        end
     end
   end
-end
 
-module Merb::Authentication::Strategies
   class PasswordFormWithTokenStrategy &lt; Merb::Authentication::Strategies::Basic::Form
     def run!
       user = super
@@ -29,6 +27,19 @@ module Merb::Authentication::Strategies
       user
     end
   end
+
+  class RequestedBasicAuthStrategy &lt; Merb::Authentication::Strategies::Basic::BasicAuth
+    def run!
+      user = super
+      if user
+        user
+      else
+        if request.params[&quot;auth&quot;] == &quot;basic&quot;
+          request_basic_auth!
+        end
+      end
+    end
+  end
 end
 
-Merb::Authentication.default_strategy_order = [Merb::Authentication::Strategies::CookieStrategy, Merb::Authentication::Strategies::PasswordFormWithTokenStrategy, Merb::Authentication::Strategies::Basic::BasicAuth]
\ No newline at end of file
+Merb::Authentication.default_strategy_order = [Merb::Authentication::Strategies::CookieStrategy, Merb::Authentication::Strategies::PasswordFormWithTokenStrategy, Merb::Authentication::Strategies::RequestedBasicAuthStrategy]
\ No newline at end of file</diff>
      <filename>merb/merb-auth/strategies.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7485165acddf87079b0a92aabfa8e83f2a8420d3</id>
    </parent>
  </parents>
  <author>
    <name>Marcin Kulik</name>
    <email>marcin.kulik@gmail.com</email>
  </author>
  <url>http://github.com/LunarLogicPolska/rubytime/commit/8bea9d633f2a593de1f56dd63f5c34d04027a387</url>
  <id>8bea9d633f2a593de1f56dd63f5c34d04027a387</id>
  <committed-date>2009-04-22T10:32:31-07:00</committed-date>
  <authored-date>2009-04-22T10:32:31-07:00</authored-date>
  <message>added authentication strategy for external API (requested-http-auth)</message>
  <tree>e3647953bd2375b3b08f24c8a4f54e16abd2eaed</tree>
  <committer>
    <name>Marcin Kulik</name>
    <email>marcin.kulik@gmail.com</email>
  </committer>
</commit>
