物件HttpRepeater
HttpRepeater 是一個HTTP 請求轉發器,可以將HTTP 請求轉送到指定的後端伺服器並獲得回應。它常常用於需要在前端與多個服務端互動的複雜系統中,或用於負載平衡
使用HttpRepeater 非常簡單,只需要在建立實例時為其提供後端伺服器的URL 或負載平衡URL 陣列即可。
如下是一個使用單一後端的範例:
1
2
3
4
5
6var http = require('http');
var serverUrl = 'http://localhost:' + actualPort + '/example'
var repeater = new http.Repeater(serverUrl)
var server = new http.Server(8081, repeater);
server.start();
下面是一個使用URL 陣列實現負載平衡的範例:
1
2
3
4
5
6
7
8
9var serverURLs = [
'http://server1.example.com',
'http://server2.example.com',
'http://server3.example.com'
]
var repeater = new http.Repeater(serverURLs)
var server = new http.Server(8081, repeater);
server.start();
繼承關係
建構函數
HttpRepeater
HttpRepeater 建構函數,建立一個新的HttpRepeater 對象
1new HttpRepeater(String url);
呼叫參數:
- url: String, 指定一個後端伺服器url
HttpRepeater 建構函數,建立一個新的HttpRepeater 對象
1new HttpRepeater(Array urls);
呼叫參數:
- urls: Array, 指定一組後端伺服器url
成員屬性
urls
NArray, 查詢目前後端伺服器url清單
1readonly NArray HttpRepeater.urls;
client
HttpClient, 請求轉送處理器內部使用的HttpClient物件
1readonly HttpClient HttpRepeater.client;
成員函數
load
載入一組新的後端url
1HttpRepeater.load(Array urls);
呼叫參數:
- urls: Array, 指定一組後端伺服器url
invoke
處理一個訊息或對象
1Handler HttpRepeater.invoke(object v) async;
呼叫參數:
- v:object, 指定處理的訊息或對象
回傳結果:
- Handler, 返回下一步的處理器
toString
傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現
1String HttpRepeater.toString();
回傳結果:
- String, 傳回物件的字串表示
toJSON
傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合
1Value HttpRepeater.toJSON(String key = "");
呼叫參數:
- key: String, 未使用
回傳結果:
- Value, 傳回包含可JSON 序列化的值