से एक्सटेंशन को आगे कैसे बढ़ाया जाए, मैं अपने मिडलवेयर सर्वर पर रिमोट स्कीमा सिलाई का उपयोग कर रहा हूं। मैं मिडलवेयर सर्वर पर दूरस्थ रूप से स्कीमा प्राप्त करने में सक्षम हूं, इस तरह से मेरे मार्ग को मिडलवेयर सर्वर पर परिभाषित करता हूं।एक सर्वर से मिडलवेयर सर्वर
app.use('/graphql', graphqlHTTP((request,res) => {
const startTime = Date.now();
return {
schema: remoteSchema
graphiql: false,
extensions({ document, variables, operationName, result }) {
return {
// here I am not getting extensions which I have on my another server as below.
console.log(res); // this does not have additional info and response headers
console.log(result); // this only has response against the query
}
};
}));
मैं परिणाम में क्वेरी का परिणाम हो रही है लेकिन प्रतिक्रिया हेडर और अतिरिक्त जानकारी जो एक्सटेंशन का एक हिस्सा है जो मैं अपने अन्य सर्वर जहां रिसोल्वर देखते हैं पर जोड़ा जा रहा है नहीं मिल रहा है।
{
"data": {
"records": {
"record": [{
"id": 1,
},
{
"id": 2,
}
],
},
"additionalInfo": {}
},
"extensions": {
"info": {}
}
}
समस्या क्या हो सकती है? इस प्रकार मैं एक्सटेंशन में अपने अन्य सर्वर पर प्रतिक्रिया शीर्षलेख और अतिरिक्त जानकारी जोड़ रहा हूं। मैं नीचे कोड डीबग करता हूं जहां एक्सटेंशन डेटा उपलब्ध है। यह मिडलवेयर सर्वर पर नहीं जा रहा है।
extensions({ document, variables, operationName, result }) {
result.data.additionalInfo = res.additionalInfo;
// extension to write api headers in response
var headerObj = {};
res.apiHeaders.forEach(element => {
merge(headerObj, element);
});
result.headerObj = headerObj;
return {
information: headerObj
};
}
मेरा आवेदन प्रवाह यह है कि मैं मिडलवेयर मार्ग को कॉल कर रहा हूं, फिर रिमोट स्कीमा सिलाई का उपयोग कर एक अन्य सर्वर मार्ग। मैं विस्तार चाहता हूं जो मैं किसी अन्य सर्वर पर जोड़ रहा हूं, प्रतिक्रिया में मेरे मिडलवेयर सर्वर के लिए आगे होना चाहिए।
':' और '=>' आवश्यक नहीं हैं। मूल उदाहरण कोड विधि परिभाषाओं के लिए ऑब्जेक्ट शाब्दिक शॉर्टैंड का उपयोग कर रहा है। – aaronjkrause
@Aaronjkrause मैं बस उस दस्तावेज में भाग गया, यह इंगित करने के लिए धन्यवाद। – RickyM
@RickyM मुझे अनुरोध दिखाई देता है लेकिन 'apiHeaders: [], अतिरिक्त जानकारी: {},' वहां खाली हैं। –