получить URL Approuter в приложении MTA с помощью Approuter в SAP Cloud Platform

Создал приложение MTAR в VS Code с помощью роутера приложений. внес изменения в начальный файл approuter в другой файл, скажем, custominfo.js, как показано ниже.

ниже код в custominfo.js

      const approuter = require("@sap/approuter");
const jwtDecode = require("jwt-decode");
const rp = require("request-promise");
const xsenv = require("@sap/xsenv");
xsenv.loadEnv();
const dest_service = xsenv.getServices({ dest: { tag: "destination" } }).dest;
const uaa_service = xsenv.getServices({ uaa: { tag: "xsuaa" } }).uaa;
const sUaaCredentials = dest_service.clientid + ":" + dest_service.clientsecret;
const sDestinationName = "devapi";
let ar = approuter();
ar.beforeRequestHandler.use("/data", (req, res) => {

let email = jwtDecode(req.user.token.accessToken).email;

return rp({
    uri: uaa_service.url + "/oauth/token",
    method: "POST",
    headers: {
        "Authorization": "Basic " + Buffer.from(sUaaCredentials).toString("base64"),
        "Content-type": "application/x-www-form-urlencoded"
    },
    form: {
        "client_id": dest_service.clientid,
        "grant_type": "client_credentials"
    }
}).then((data) => {
    const token = JSON.parse(data).access_token;
    return rp({
        uri: dest_service.uri + "/destination-configuration/v1/destinations/" + sDestinationName,
        headers: {
            "Authorization": "Bearer " + token
        }
    });
}).then((data) => {
    const oDestination = JSON.parse(data);
    const url = oDestination.destinationConfiguration.URL;

// need to send email address and app router url to fetch some json data in the API c 
   configured in destination 
 
}).then((result) => {
   
}).catch((error) => {
   
  });
  });
  ar.start();

В приведенном выше сценарии node js мне нужно отправить адрес электронной почты и URL-адрес маршрутизатора приложения на другой REST API, чтобы получить некоторые данные.

поэтому вопрос был

Как я могу получить адрес электронной почты из токена JWT в первом обещании запроса (rp) и URL-адрес назначения из службы назначения во втором обещании запроса (rp) и передать их третьему обещанию запроса (rp).

Обещание третьего запроса должно активировать REST API (URL-адрес извлекается из службы назначения во втором RP) и должно отправлять адрес электронной почты и URL-адрес маршрутизатора приложения в части заголовка, чтобы REST API возвращал пользовательский JSON.

я смог получить URL-адрес и адрес электронной почты в отдельном обещании запроса, но не смог получить URL-адрес маршрутизатора приложения.

С Уважением

Прасад

0 ответов