DTA::CAB::Server::HTTP::Handler::Query - CAB HTTP Server: request handler: analyzer queries by CGI form
##========================================================================
## PRELIMINARIES
use DTA::CAB::Server::HTTP::Handler::Query;
##========================================================================
## Methods: API
$h = $class_or_obj->new(%options);
$bool = $h->prepare($server);
$bool = $path->run($server, $localPath, $clientSocket, $httpRequest);
DTA::CAB::Server::HTTP::Handler::Query is a request handler class for use with a DTA::CAB::Server::HTTP server which handles queries to selected server-supported analyzers submitted as CGI-style forms.
DTA::CAB::Server::HTTP::Handler::Query inherits from DTA::CAB::Server::HTTP::Handler::CGI and implements the DTA::CAB::Server::HTTP::Handler API.
Default allowed formats.
$h = $class_or_obj->new(%options);
%$h, %options:
(
##-- INHERITED from Handler::CGI
#encoding => $defaultEncoding, ##-- default encoding (UTF-8)
allowGet => $bool, ##-- allow GET requests? (default=1)
allowPost => $bool, ##-- allow POST requests? (default=1)
pushMode => $mode, ##-- push mode for addVars (default='keep')
##
##-- NEW in Handler::Query
allowAnalyzers => \%analyzers, ##-- set of allowed analyzers ($allowedAnalyzerName=>$bool, ...) -- default=undef (all allowed)
defaultAnalyzer => $aname, ##-- default analyzer name (default = 'default')
allowFormats => \%formats, ##-- allowed formats: ($fmtAlias => $formatClassName, ...)
defaultFormat => $class, ##-- default format (default=$DTA::CAB::Format::CLASS_DEFAULT)
forceClean => $bool, ##-- always appends 'doAnalyzeClean'=>1 to options if true (default=false)
returnRaw => $bool, ##-- return all data as text/plain? (default=0)
logVars => $level, ##-- log-level for variable expansion (default=undef: none)
)
$bool = $h->prepare($server);
Sets $h->{allowAnalyzers} if not already defined.
$bool = $path->run($server, $localPath, $clientSocket, $httpRequest);
Process $httpRequest matching $localPath as CGI form-encoded query. The following CGI form parameters are supported:
(
q => $queryString, ##-- raw, untokenized query string (preferred over 'qd')
qd => $queryData, ##-- query data (formatted document)
a => $analyzerName, ##-- analyzer key in %{$h->{allowAnalyzers}}, %{$srv->{as}}
fmt => $queryFormat, ##-- query/response format (default=$h->{defaultFormat})
#enc => $queryEncoding, ##-- query encoding (default='UTF-8')
raw => $bool, ##-- if true, data will be returned as text/plain (default=$h->{returnRaw})
pretty => $level, ##-- response format level
##
$opt => $value, ##-- other options are passed to analyzeDocument() (if $h->{allowUserOptions} is true)
)
Bryan Jurish <moocow@cpan.org>
Copyright (C) 2011-2019 by Bryan Jurish
This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.24.1 or, at your option, any later version of Perl 5 you may have available.
DTA::CAB::Server::HTTP::Handler::QueryList(3pm), DTA::CAB::Server::HTTP::Handler::QueryList(3pm), DTA::CAB::Server::HTTP::Handler::CGI(3pm), DTA::CAB::Server::HTTP::Handler(3pm), DTA::CAB::Server::HTTP(3pm), DTA::CAB(3pm), perl(1), ...