<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,15 +1,23 @@
 package pl.kungfoo.grizzly.osgi.httpservice.gitorial.impl;
 
-import java.io.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
-import org.osgi.service.http.*;
+import org.osgi.service.http.HttpService;
+import org.osgi.service.http.NamespaceException;
+import org.osgi.service.http.HttpContext;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.net.URL;
 
 public class RegisterServletComponent {
 
     public void setHttp(HttpService http) throws ServletException, NamespaceException {
         http.registerServlet(&quot;/hello&quot;, new RegisterServlet(), null, null);
         http.registerResources(&quot;/&quot;, &quot;&quot;, null);
+        http.registerResources(&quot;/auth&quot;, &quot;&quot;, new AuthHttpContext(http.createDefaultHttpContext()));
     }
 }
 
@@ -22,3 +30,29 @@ class RegisterServlet extends HttpServlet {
     }
 }
 
+class AuthHttpContext implements HttpContext {
+    private HttpContext delegate;
+
+    public AuthHttpContext(HttpContext delegate) {
+        this.delegate = delegate;
+    }
+
+    public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) throws IOException {
+        String auth = request.getHeader(&quot;Authorization&quot;);
+        if (auth != null) {
+            return &quot;YXV0aDpzZWNyZXQ=&quot;.equals(auth.substring(6)); // Base64 encoded &quot;auth:secret&quot;
+        } else {
+            response.setHeader(&quot;WWW-Authenticate&quot;, &quot;BASIC realm=\&quot;Testing Grizzly OSGi Http Service\&quot;&quot;);
+            response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
+            return false;
+        }
+    }
+
+    public URL getResource(String s) {
+        return delegate.getResource(s);
+    }
+
+    public String getMimeType(String s) {
+        return delegate.getMimeType(s);
+    }
+}
\ No newline at end of file</diff>
      <filename>src/main/java/pl/kungfoo/grizzly/osgi/httpservice/gitorial/impl/RegisterServletComponent.java</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>fda299ff8caae86730af5a5f2ed6a3305ad556a8</id>
    </parent>
  </parents>
  <author>
    <name>Hubert Iwaniuk</name>
    <login>neotyk</login>
    <email>neotyk@kungfoo.pl</email>
  </author>
  <url>http://github.com/neotyk/httpservice-gitorial/commit/fea27cf030303142adbabb490c24d335cdfa2cbf</url>
  <id>fea27cf030303142adbabb490c24d335cdfa2cbf</id>
  <committed-date>2009-03-15T18:37:30-07:00</committed-date>
  <authored-date>2009-03-15T18:37:30-07:00</authored-date>
  <message>Authentication sample.
After &quot;mvn clean install pax:provision&quot; hit
http://localhost:8080/auth/sample.txt
Username: auth
Password: secret</message>
  <tree>56d6a0496b68bbdecaff2bb07dbf212378366fbe</tree>
  <committer>
    <name>Hubert Iwaniuk</name>
    <login>neotyk</login>
    <email>neotyk@kungfoo.pl</email>
  </committer>
</commit>
