2014-08-28 85 views
2

在我的Apigee API Proxy中,我需要獲取在我的配置中定義的環境URL,以便我可以將它作爲響應的一部分發送出去。如何在Apigee中獲取正確的代理URL?

例如:http://myorg-test.apigee.net/pricing

但是,當我試圖讓使用proxy.url它,我得到一個別名路徑,像http://rrt18apigee.us-ea.4.apigee.com/pricing

目前,我試圖把它想:

var response = { 
    proxyUrl : context.getVariable("proxy.url"), 
}; 
+0

如何request.uri? – brandonscript 2014-08-28 14:04:14

+0

@remus request.uri沒有完整的路徑。我只是看到後綴,如下面的例子從javascript-cookbook:'/ forecastrss?w = 12797282' – 2014-08-28 18:27:23

+0

檢查Apigee文檔中的變量列表 - 應該在那裏 – brandonscript 2014-08-28 18:28:13

回答

2

這是一個解決方法。你可以試着得到以下變量和創建整個URL

  • 獲取從request.Headers.X-Forwarded-Proto請求方案(HTTP或HTTPS)(如果使用的是雲版本)或client.scheme如果您正在使用的預置型
  • request.host
  • 獲取主機的名稱獲取從request.path整個請求路徑
  • message.querystring
網址查詢參數和列表的整個列表

然後,您可以構建整個請求URL。

(我知道這不應該在情況proxy.url這個痛苦的,請記錄錯誤真的打破。)