
こんにちは。
現在私は、下記のような仕組みを作成しようとしております。
①[サイトA] から [サイトB](Firebase) へGETリクエストを行う。
②[サイトB] では、 [サイトA] から受け取った内容を処理してJSONデータを作る
③②の内容を [サイトB] から [サイトX] と [サイトY] のそれぞれへPOSTリクエストを送る。
しかし、現在③の内容で[サイトX]にしか送信できておりません。
これを、同時に二箇所へ送信するようにしたいです。
また、この時[サイトX] へはHTTP通信、 [サイトY] へはHTTPS通信で同じ内容をPOSTで送りたいです。
それは可能でしょうか。
ご確認宜しくお願いします。
以下が[サイトB](Firebase)の内容です。
const functions = require('firebase-functions'); const admin = require('firebase-admin'); const http = require('http'); admin.initializeApp(); const request = require('request'); const querystring = require('querystring') const stringify = querystring.stringify; var message = "none"; exports.hello = functions.https.onRequest((request, response) => { if (request.query.email !== undefined) { var param = { email:request.query.email, value:request.query.value, data:request.query.data } //------データの処理箇所は割愛します------// if(user == 0) { var message = "mail"; } else { var message = "yes"; var host = (snapshot.val() && snapshot.child( user + "/host").val()) || 'Anonymous'; var options = { host: host, port: ****, method: 'POST', contentType: 'text/plain', headers: { email: request.query.email, value:request.query.value, data:request.query.data } }; } //---POST---// response.status(200).send(message); const req = http.request(options, (res) => { }) req.on('error', (e) => { console.log('problem with request: ' + e.message); response.status(404).send(message); }); req.end(); }) .catch(error => { response.status(404).send(message) }) } else { response.status(400).send(message); } });
const functions = require('firebase-functions'); const admin = require('firebase-admin'); const http = require('http'); admin.initializeApp(); const request = require('request'); const querystring = require('querystring') const stringify = querystring.stringify; var message = "none"; exports.hello = functions.https.onRequest((request, response) => { if (request.query.email !== undefined) { var param = { email:request.query.email, value:request.query.value, data:request.query.data } //------データの処理箇所は割愛します------// if(user == 0) { var message = "mail"; } else { var message = "yes"; var host = (snapshot.val() && snapshot.child( user + "/host").val()) || 'Anonymous'; var options = { host: host, port: ****, method: 'POST', contentType: 'text/plain', headers: { email: request.query.email, value:request.query.value, data:request.query.data } }; } //---POST---// response.status(200).send(message); const req = http.request(options, (res) => { }) req.on('error', (e) => { console.log('problem with request: ' + e.message); response.status(404).send(message); }); req.end(); }) .catch(error => { response.status(404).send(message) }) } else { response.status(400).send(message); } });
以下が二箇所に送信しようとした[サイトB](Firebase)の内容です。
const functions = require('firebase-functions'); const admin = require('firebase-admin'); const http = require('http'); admin.initializeApp(); const request = require('request'); const querystring = require('querystring') const stringify = querystring.stringify; var message = "none"; exports.hello = functions.https.onRequest((request, response) => { if (request.query.email !== undefined) { var param = { email:request.query.email, value:request.query.value, data:request.query.data } //------データの処理箇所は割愛します------// if(user == 0) { var message = "mail"; } else { var message = "yes"; var host = (snapshot.val() && snapshot.child( user + "/host").val()) || 'Anonymous'; var options = { host: host, port: ****, method: 'POST', contentType: 'text/plain', headers: { email: request.query.email, value:request.query.value, data:request.query.data } }; var options_2 = { host: sample.com/, port: ****, method: 'POST', contentType: 'text/plain', headers: { email: request.query.email, value:request.query.value, data:request.query.data } }; } //---POST1---// response.status(200).send(message); const req = http.request(options, (res) => { }) req.on('error', (e) => { console.log('problem with request: ' + e.message); response.status(404).send(message); }); //---POST2---// response.status(200).send(message); const req = http.request(options_2, (res) => { }) req.on('error', (e) => { console.log('problem with request: ' + e.message); response.status(404).send(message); }); req.end(); }) .catch(error => { response.status(404).send(message) }) } else { response.status(400).send(message); } });
回答1件
あなたの回答
tips
プレビュー