"application/xml" => {
"prio" => 0,
"code" => sub {
- my ($r, $data) = @_;
+ my ($r, $args) = @_;
$r->content_type("application/xml; charset=utf-8");
- print data_to_xml($data);
+ print data_to_xml($args);
return Apache2::Const::OK;
}
},
"application/json" => {
"prio" => 1,
"code" => sub {
- my ($r, $data) = @_;
+ my ($r, $args) = @_;
$r->content_type("application/json; charset=utf-8");
- print data_to_json($data);
+ print data_to_json($args);
return Apache2::Const::OK;
}
}
# END package globals
sub data_to_xml {
- my ($data) = @_;
+ my ($args) = @_;
my $dom = new XML::LibXML::Document("1.0", "UTF-8");
my $fs = $dom->createElement("FlatSearch");
my ($args) = @_;
return OpenSRF::Utils::JSON->perl2JSON({
- ($$args{hint} ? (hint => $$args{hint}) : ())
- ($$args{identifier_field} ? (identifier => $$args{identifier_field}) : ())
- ($$args{label_field} ? (label => $$args{label_field}) : ())
- ($$args{key} ? (FS_key => $$args{key}) : ())
+ ($$args{hint} ? (hint => $$args{hint}) : ()),
+ ($$args{identifier_field} ? (identifier => $$args{identifier_field}) : ()),
+ ($$args{label_field} ? (label => $$args{label_field}) : ()),
+ ($$args{key} ? (FS_key => $$args{key}) : ()),
items => $$args{data}
});
}
my $cgi = new CGI;
my %args;
- my $args{format} = $cgi->param('format');
- my $args{auth} = $cgi->param('ses');
- my $args{hint} = $cgi->param('hint');
- my $args{map} = OpenSRF::Utils::JSON->JSON2perl($cgi->param('map'));
- my $args{where} = OpenSRF::Utils::JSON->JSON2perl($cgi->param('where'));
- my $args{slo} = OpenSRF::Utils::JSON->JSON2perl($cgi->param('slo'));
- my $args{key} = $cgi->param('key');
- my $args{id_field} = $cgi->param('identifier');
- my $args{label_field} = $cgi->param('label');
+ $args{format} = $cgi->param('format');
+ $args{auth} = $cgi->param('ses');
+ $args{hint} = $cgi->param('hint');
+ $args{map} = OpenSRF::Utils::JSON->JSON2perl($cgi->param('map'));
+ $args{where} = OpenSRF::Utils::JSON->JSON2perl($cgi->param('where'));
+ $args{slo} = OpenSRF::Utils::JSON->JSON2perl($cgi->param('slo'));
+ $args{key} = $cgi->param('key');
+ $args{id_field} = $cgi->param('identifier');
+ $args{label_field} = $cgi->param('label');
my $fielder = OpenSRF::AppSession->create('open-ils.fielder');
- if ($map) {
- $args{data} = $fielder->request('open-ils.fielder.flattened_search.atomic', $auth, $hint, $map, $where, $slo )->gather(1);
+ if ($args{map}) {
+ $args{data} = $fielder->request(
+ 'open-ils.fielder.flattened_search.atomic',
+ @args{qw/auth hint map where slo/}
+ )->gather(1);
} else {
- $args{data} = $fielder->request('open-ils.fielder.flattened_search.execute.atomic', $auth, $key, $where, $slo )->gather(1);
+ $args{data} = $fielder->request(
+ 'open-ils.fielder.flattened_search.execute.atomic',
+ @args{qw/auth key where slo/}
+ )->gather(1);
}
return output_handler( $r, \%args );