mirror of https://github.com/pelias/api.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
782 B
32 lines
782 B
|
|
var logger = require('../src/logger'), |
|
responder = require('../src/responder'), |
|
query = require('../query/suggest'), |
|
backend = require('../src/backend'); |
|
|
|
module.exports = function( req, res, next ){ |
|
|
|
var reply = { |
|
date: new Date().getTime(), |
|
body: [] |
|
}; |
|
|
|
var cmd = { |
|
index: 'pelias', |
|
body: query( req.clean ) // generate query from clean params |
|
}; |
|
|
|
// Proxy request to ES backend & map response to a valid FeatureCollection |
|
backend().client.suggest( cmd, function( err, data ){ |
|
|
|
if( err ){ return responder.error( req, res, next, err ); } |
|
if( data && data.pelias && data.pelias.length ){ |
|
|
|
// map options to reply body |
|
reply.body = data['pelias'][0].options; |
|
} |
|
|
|
return responder.cors( req, res, reply ); |
|
}); |
|
|
|
}; |