2017-12-18 53 views
5

के साथ कॉल करता है मैं एक्सप्रेस का उपयोग कर रहा हूं जहां मैंने अपने एप्लिकेशन के लिए एपीआई कॉल मजाक किया है।एक्सप्रेस प्रॉक्सी एपीआई कुकी

क्या कोई प्रॉक्सी है जिसका उपयोग मैं अपने देव सर्वर पर अपनी कॉल को रीडायरेक्ट करने के लिए कर सकता हूं?

नीचे

जब मैं अपने कोड से स्थानीय एपीआई में अपने आवेदन चलाने मेरी नमूना एक्सप्रेस कोड

var express = require('express'); 
var app = express(); 
var path = require('path'); 
var cors = require('cors'); 


app.use(express.static(path.join(__dirname, 'public'))); 
app.use(express.static(path.join(__dirname, 'dist'))); 

app.get('/brand', function(req,res){ 
    res.send({"brand":"Cadillac","origin":"USA"}); 
}); 

कि "http://localhost:3000/brand" से "http://www-dev.abc.com/brand"

से पहले पुनः निर्देशित रीडायरेक्ट करना चाहिए मैं भी एक निर्धारित करने की आवश्यकता कुकी, क्योंकि एपीआई केवल वैध कुकी होने पर डेटा देता है।

क्या कोई प्रॉक्सी है जिसका मैं उपयोग कर सकता हूं? क्या आप कोई उदाहरण दे सकते हैं?

उत्तर

1

अगर मैं तुम्हें सही समझते हैं, तो अपने आवश्यकताओं सूची लगता है:

  1. express के साथ सरल एकीकरण।
  2. प्रॉक्सी केवल एक एंडपॉइंट।
  3. केवल स्थानीय पर्यावरण पर प्रॉक्सी।
  4. प्रॉक्सी अनुरोध के लिए कुकीज़ सेट करने की क्षमता।

कोड उदाहरण:

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

app.use(express.static(path.join(__dirname, 'public'))); 
app.use(express.static(path.join(__dirname, 'dist'))); 

if (process.env.NODE_ENV === 'production') { 
    app.get('/brand', function(req,res){ 
    res.send({"brand":"Cadillac","origin":"USA"}); 
    }); 
} else { 
    app.use('/brand', proxy('http://www-dev.abc.com/brand', { 
    proxyReqOptDecorator: function(proxyReqOpts, srcReq) { 
     proxyReqOpts.headers['cookie'] = 'cookie-string'; 
     return proxyReqOpts; 
    } 
    })); 
} 

app.listen(8000); 

टिप्पणियाँ:

  • वातावरण प्रकार की जाँच के लिए मैं निर्माण process.env.NODE_ENV === 'production'
  • सबसे अच्छा पैकेज का इस्तेमाल किया अपनी आवश्यकताओं के लिए express-http-proxy है, लेकिन अगर आपको बहु प्रॉक्सी की आवश्यकता होगी प्लीज एंडपॉइंट्स, यह दर्दनाक होगा। इस मामले में http-proxy देखें।
+0

एक्सप्रेस-http-प्रॉक्सी के साथ मैं क्लाइंट से क्वेरी सर्वर को क्वेरी स्ट्रिंग पैरामीटर कैसे पास कर सकता हूं? – user804401

+0

आपके पास बॉक्स से यह कार्यक्षमता है। – galkin

संबंधित मुद्दे