--- lib/PXElator/httpd.pm 2010/01/23 19:47:46 486
+++ lib/PXElator/httpd.pm 2010/01/23 20:47:17 487
@@ -18,6 +18,7 @@
#use JSON;
use IO::Socket::INET;
use Regexp::Common qw/net/;
+use YAML;
our $title;
@@ -66,8 +67,8 @@
sub menu {
- my $couch_url = $url;
- $couch_url =~ s{:\d+.+}{:5984/_utils/};
+ my $store_url = $url;
+ $store_url =~ s{:\d+.+}{:28017};
qq{
home
@@ -76,7 +77,8 @@
brctl
ip
|
-
couchdb
+
store
+
query
|
nmap
client
@@ -268,6 +270,21 @@
|
;
+ } elsif ( $path =~ m{^/store/query} ) {
+ print $client ok
+ , qq|
|
+ ;
+ store::query( sub {
+ my $o = shift;
+ my $p = delete( $o->{package} );
+ delete( $o->{_id} );
+ # XXX sigh, dump dies if we don't do this
+ my $tmp = delete( $o->{param} );
+ $o->{param} = $tmp if defined $tmp;
+ print $client qq||, join(qq| | |, map { $p->{$_} } keys %$p ), qq| | |, dump( $o ), qq| |
\n|;
+ });
+ print $client qq|
|;
+
} elsif ( $path =~ m!^/client(?:/$RE{net}{IPv4}{-keep})?! ) {
my $ip = $1;
$title = $ip if $ip;