'calling mutli api in node express react
I am developing custom search engine when people search for somthing my search engine fetch all search engine api that I added and get results to my search engine , i am already added google custom search api now i need to add yahoo and goduckduck so how I can added other api and make my search engine fetch several api ?
const express = require('express');
const bodyParser = require('body-parser');
const logger = require('morgan');
const { SearchController } = require('./routes/search.js');
const { OutlineController } = require('./routes/outline.js');
const path = require('path');
const compression = require('compression');
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
const app = express();
app.use(compression());
app.use(express.static(path.resolve('../', 'build')));
app.use(bodyParser.text());
app.use(logger('dev'));
app.use('/search', SearchController);
app.use('/outline', OutlineController);
const port = process.env.PORT || 1337;
app.listen(port, () => {
console.log(`App listening on port ${port}`);
});
import * as express from 'express';
const { Router } = require('express');
const path = require('path');
const { get } = require('axios');
const router: express.Router = Router();
router.get('*', (req: express.Request, res: express.Response, next: express.NextFunction): void => {
res.sendFile(path.resolve('../', 'build/index.html'));
});
router.post('/:query/:start?', async (req: express.Request, res: express.Response) => {
const { query, start } = req.params;
try {
const { data: { items } } = await get(`
https://www.googleapis.com/customsearch/v1?key=AIzaSyBexWro6lOuVcfmR5uSFvd-jVY8uee45OA&cx=000950167190857528722:vf0rypkbf0w&start=${start
? start
: 10}&q=${encodeURI(query)}`);
console.log('this');
res.send(items);
} catch (error) {
console.error(error);
}
});
export const SearchController = router;
const { Request, Response, Router } = require('express');
import * as express from 'express';
const request = require('request');
const unfluff = require('unfluff');
const router: any = Router();
router.post('/:site(*)', (req: express.Request, response: express.Response) => {
const site = req.params.site;
request(site, (err: Error, res: any, body: any) => {
const data = unfluff(body);
response.send({
title: data.title,
text: data.text
});
});
});
export const OutlineController = router;
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
