package Search::OpenSearch::Response::JSON;
use Moose;
use Carp;
extends 'Search::OpenSearch::Response';
use JSON;
our $VERSION = '0.409';
sub stringify {
my $self = shift;
my $resp = $self
JSON->new->utf8->pretty(1)->encode($resp)
: encode_json($resp);
}
sub content_type { return 'application/json; charset=utf-8' }
1;
__END__
=head1 NAME
Search::OpenSearch::Response::JSON
- provide search results in JSON format
=head1 SYNOPSIS
use Search::OpenSearch;
my $engine = Search::OpenSearch->engine(
type => 'KSx',
index => [qw( path/to/index1 path/to/index2 )],
=> 1, # include results
format => 'XML', # or JSON
);
print $response;
=head1 DESCRIPTION
Search::OpenSearch::Response::XML serializes to XML fo
f => 1, # include facets
format => 'XML', # or JSON
);
print $response;
=head1 DESCRIPTION
Search::OpenSearch is a framework for various backend
rch::OpenSearch::Facets;
use Search::OpenSearch::Response::XML;
use Search::OpenSearch::Response::JSON;
use Search::OpenSearch::Response::ExtJS;
use Search::OpenSearch::Response::Tiny;
use Search::Too
ols::UTF8;
use Search::Tools;
use CHI;
use Time::HiRes qw( time );
use Data::Dump qw( dump );
use JSON;
use namespace::autoclean;
has 'index' => ( is => 'rw', isa => ArrayRef, );
has 'facets' => (
$self->default_response_format;
# backwards compat
if ( $format eq 'xml' or $format eq 'json' ) {
$format = uc($format);
}
my $response_class = $args{response_class}
y' => (
is => 'rw',
isa => Maybe [ Str | InstanceOf ['Search::Query::Dialect'] ]
);
has 'json_query' => ( is => 'rw', isa => Str );
has 'title' => ( is => 'rw', isa => Maybe [Str], builder =>
=> 1, # include results
format => 'XML', # or JSON
b => 'AND', # or OR
);
print $response;
=head1 DESCRIPTION
Search
=item query
=item parsed_query
As returned by Search::Query.
=item json_query
Same as parsed_query, but the object tree is JSON encoded instead
of stringified.
=item author
=item pps
Pages-per-
rch::OpenSearch::Response::Tiny;
use Moose;
use Carp;
extends 'Search::OpenSearch::Response::JSON';
use JSON;
our $VERSION = '0.409';
my %tiny_fields = map { $_ => 1 } qw(
total
facets
r
g
? JSON->new->utf8->pretty(1)->encode($resp)
: encode_json($resp);
}
1;
__END__
=head1 NAME
Search::OpenSearch::Response::Tiny - provide minimal search results in JSON format
=he
# or JSON, XML, ExtJS
x => [qw( foo bar )], # return only a subset of fields
);
print $response;
=head1 DESCRIPTION
Search::OpenSearch::Response::Tiny serializes to a minimal
JSON strin
onse::ExtJS;
use Moose;
use Carp;
extends 'Search::OpenSearch::Response::JSON';
use Types::Standard qw( HashRef Bool );
use JSON;
use Sort::SQL;
our $VERSION = '0.409';
has 'metaData' => ( is => 'rw
debug
? JSON->new->utf8->pretty(1)->encode($resp)
: encode_json($resp);
}
1;
__END__
=head1 NAME
Search::OpenSearch::Response::ExtJS - provide search results in JSON format for Ext
de results
t => 'ExtJS', # or JSON, XML
);
print $response;
=head1 DESCRIPTION
Search::OpenSearch::Response::ExtJS serializes to JSON suitable
for the ExtJS Javascript library.
=
ude facets
r => 1, # include results
t => 'XML', # or JSON
u => 'http://yourdomain.foo/opensearch/',
b => 'AND', # or OR
x =