@koopjs/featureserver
Version:
*An open source implementation of the GeoServices specification*
22 lines (18 loc) • 812 B
JavaScript
const defaults = require('../metadata-defaults');
const { queryResponseHandler } = require('../response-handlers');
const { queryJson } = require('./query-json');
const { validateQueryRequestParams } = require('./validate-query-request-parameters');
const { normalizeRequestParameters } = require('../helpers/normalize-request-params');
function queryHandler(req, res, data) {
const requestParameters = normalizeRequestParameters(req.body, req.query);
validateQueryRequestParams(requestParameters);
const payload = queryJson(data, requestParameters);
return queryResponseHandler(res, payload, {
...requestParameters,
resultRecordCount:
requestParameters.resultRecordCount ||
data?.metadata?.maxRecordCount ||
defaults.maxRecordCount(),
});
}
module.exports = queryHandler;