最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node 使用express-http-proxy 做api網(wǎng)關(guān)的實(shí)現(xiàn)

 更新時(shí)間:2020年10月15日 09:37:40   作者:愚坤  
這篇文章主要介紹了Node 使用express-http-proxy 做api網(wǎng)關(guān)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

拷貝代碼備忘,filter過濾請(qǐng)求,proxyReqOptDecorator重寫請(qǐng)求頭,代碼如下:

var express = require('express');
var proxy = require('express-http-proxy')

var app = express();

app.all('*', function (req, res, next) {
 res.header("Access-Control-Allow-Origin", req.headers.origin);
 res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
 res.header("Access-Control-Allow-Credentials", "true");
 res.header("Content-Type", "application/json;charset=utf-8");
 if (req.method == 'OPTIONS') {
  res.header('Access-Control-Allow-Headers', req.headers['access-control-request-headers']);
  res.send(200); /*讓options請(qǐng)求快速返回*/
 }
 else {
  next();
 }
});

// 代碼轉(zhuǎn)發(fā)
app.use('/ProxySSO', proxy(req => {
 return req.headers.apiurl
}, {
 filter: function (req, res) {

  // 用戶名\系統(tǒng)標(biāo)識(shí)\用戶權(quán)限
  let { systemName, masterName, powers } = req.tokenDecode;
  const { originalUrl } = req;
  const url = originalUrl.replace('/ProxySSO', '').split('?')[0];

  /**
   * 接口權(quán)限檢查
   * @param {String} url 接口地址
   * @param {Object} powers rbac權(quán)限列表
   * @returns {boolean} 是否有權(quán)限
   */
  const checkPowers = (url, powers) => {
    //  do something
  }
  const hasPowers = checkPowers(url, powers);
   // 權(quán)限判斷
  return hasPowers;
 },
 proxyReqOptDecorator: function(proxyReqOpts, srcReq) {
  // header增加masterName 具體按照自己的需求來
  // proxyReqOpts.headers['masterName'] = srcReq.tokenDecode.masterName;
  return proxyReqOpts;
 }
}));

module.exports = app;

到此這篇關(guān)于Node 使用express-http-proxy 做api網(wǎng)關(guān)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Node api網(wǎng)關(guān)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

最新評(píng)論

昭平县| 西乌| 木里| 虹口区| 平湖市| 安陆市| 武胜县| 阜康市| 阿巴嘎旗| 阳山县| 托克逊县| 崇仁县| 中西区| 武威市| 江安县| 响水县| 镇坪县| 达日县| 晋城| 秦安县| 静安区| 庄河市| 胶南市| 鄯善县| 三穗县| 平和县| 同德县| 浠水县| 永胜县| 茌平县| 高唐县| 呼图壁县| 老河口市| 绥宁县| 京山县| 康定县| 南昌市| 西城区| 和静县| 辽阳县| 乃东县|