Index: /trunk/BookmarkApp.pm
===================================================================
--- /trunk/BookmarkApp.pm	(revision 23)
+++ /trunk/BookmarkApp.pm	(revision 24)
@@ -21,5 +21,5 @@
 my $bookmarks = Bookmarks->new({
     dbname   => $dbname,
-    base_uri => $base_uri->canonical,
+    base_uri => $base_uri,
 });
 
Index: /trunk/Bookmarks.pm
===================================================================
--- /trunk/Bookmarks.pm	(revision 23)
+++ /trunk/Bookmarks.pm	(revision 24)
@@ -3,8 +3,9 @@
 use Moose;
 use SQL::Interp qw{:all};
+use URI;
 use Bookmark;
 
 has dbh      => ( is => 'rw' );
-has base_uri => ( is => 'ro' );
+has base_uri => ( is => 'ro', isa => 'URI' );
 
 sub BUILD {
@@ -44,5 +45,5 @@
         $bookmark->{tags} = [ map { $$_[0] } @{ $sth_tag->fetchall_arrayref } ];
         if ($self->base_uri) {
-            $bookmark->{bookmark_uri} = $self->base_uri . $bookmark->{id};
+            $bookmark->{bookmark_uri} = URI->new_abs($bookmark->{id}, $self->base_uri);
         }
     }
@@ -90,5 +91,5 @@
         $resource->{tags} = [ map { $$_[0] } @{ $sth_tag->fetchall_arrayref } ];
         if ($self->base_uri) {
-            $resource->{bookmark_uri} = $self->base_uri . $resource->{id};
+            $resource->{bookmark_uri} = URI->new_abs($resource->{id}, $self->base_uri);
         }
         push @resources, $resource;
