Index: /trunk/DataStore/MANIFEST
===================================================================
--- /trunk/DataStore/MANIFEST	(revision 15024)
+++ /trunk/DataStore/MANIFEST	(revision 15025)
@@ -37,2 +37,3 @@
 t/12_dsfilesetls.t
 t/13_dsrootls.t
+t/14_root.t
Index: /trunk/DataStore/lib/DataStore/Product/Parser.pm
===================================================================
--- /trunk/DataStore/lib/DataStore/Product/Parser.pm	(revision 15024)
+++ /trunk/DataStore/lib/DataStore/Product/Parser.pm	(revision 15025)
@@ -3,5 +3,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: Parser.pm,v 1.1 2006-07-22 01:17:34 smalle Exp $
+# $Id: Parser.pm,v 1.2 2007-09-26 00:13:29 jhoblitt Exp $
 
 package DataStore::Product::Parser;
@@ -34,5 +34,5 @@
 
     my $parser = DataStore::Product::Parser->new(
-        base_uri => 'http://example.org/',
+        base_uri => 'http://example.org/index.txt',
     );
 
@@ -63,5 +63,5 @@
 
     my $parser = DataStore::Product::Parser->new(
-        base_uri => 'http://example.org/',
+        base_uri => 'http://example.org/index.txt',
     );
 
@@ -91,12 +91,17 @@
                     'is valid http uri' =>
                         sub { is_uri($_[0]) and $_[0] =~ /^http:/ },
-                    'uri ends with /'   => sub { $_[0] =~ m|/$| },
+                    'uri ends with /index.txt' =>
+                        sub { $_[0] =~ m|/index.txt$| },
+
                 },
-                default =>  'http://example.org/',
+                default =>  'http://example.org/index.txt',
             },
         },
     );
 
-    my $self = bless \%p, ref $class || $class;
+    my $self = bless {}, ref $class || $class;
+
+    $p{base_uri} =~ qr|(.*?/)index.txt|;
+    $self->{base_uri} = $1;
 
     return $self;
@@ -188,5 +193,5 @@
             type          => $type,
             desc          => $desc,
-            uri           => $self->base_uri . $product . '/',
+            uri           => $self->base_uri . $product . '/index.txt',
         });
     } continue {
Index: /trunk/DataStore/lib/DataStore/Root.pm
===================================================================
--- /trunk/DataStore/lib/DataStore/Root.pm	(revision 15024)
+++ /trunk/DataStore/lib/DataStore/Root.pm	(revision 15025)
@@ -3,5 +3,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: Root.pm,v 1.3 2006-08-04 22:18:04 smalle Exp $
+# $Id: Root.pm,v 1.4 2007-09-26 00:13:29 jhoblitt Exp $
 
 package DataStore::Root;
@@ -16,5 +16,5 @@
 
 use Carp qw( carp );
-use DataStore::FileSet::Parser;
+use DataStore::Product::Parser;
 use DataStore::Record;
 use DataStore::Response;
@@ -94,5 +94,6 @@
                 type        => SCALAR,
                 callbacks   => {
-                    'is valid uri dirname'   => sub { $_[0] =~ m|/$| },
+                    'uri ends with /index.txt' =>
+                        sub { $_[0] =~ m|/index.txt$| },
                 }
             },
