對象HttpCollection
HttpCollection 是一個通用容器,用於處理http訊息中的headers, query, form, cookie 數據
我們以headers 為例,說明HttpCollection 的使用方法。
HttpCollection 支援三種形式新增資料:
- 新增一個鍵值數據,新增數據不會修改已存在的鍵值的數據。
add
1
2
3
4headers.add({
'Content-Type': 'text/plain',
'User-Agent': 'fibjs'
});
- 增加一個鍵值的一組數據,添加數據並不會修改已存在的鍵值的數據。
add
1
2
3
4headers.add('Set-Cookie', [
'a=10',
'b=20'
]);
- 新增一個鍵值數據,新增數據不會修改已存在的鍵值的數據。
add
1headers.add('Accept-Encoding', 'gzip');
HttpCollection 設定資料的形式與新增相同,使用的方法是set
。
我們可以使用has
檢查容器內是否存在指定鍵值的數據
1const contentTypeExists = headers.has('Content-Type');
使用first
取得容器內某個鍵對應的第一個值:
1const contentType = headers.first('Content-Type');
使用all
查詢指定鍵值的全部值,傳回一個陣列。如果傳遞一個空字串的參數,則傳回全部值
1
2const cookieArray = headers.all('Set-Cookie');
const alls = headers.all();
使用delete
方法刪除指定鍵值的所有數據,返回true
表示
繼承關係
操作符
operator[String]
允許使用鍵值下標直接存取數值
1Variant HttpCollection[String];
成員函數
clear
清除容器數據
1HttpCollection.clear();
has
檢查容器內是否存在指定鍵值的數據
1Boolean HttpCollection.has(String name);
呼叫參數:
- name: String, 指定要檢查的鍵值
回傳結果:
- Boolean, 返回鍵值是否存在
first
查詢指定鍵值的第一個值
1Variant HttpCollection.first(String name);
呼叫參數:
- name: String, 指定要查詢的鍵值
回傳結果:
- Variant, 傳回鍵值所對應的值,若不存在,則傳回undefined
get
查詢指定鍵值的第一個值,等同於first
1Variant HttpCollection.get(String name);
呼叫參數:
- name: String, 指定要查詢的鍵值
回傳結果:
- Variant, 傳回鍵值所對應的值,若不存在,則傳回undefined
all
查詢指定鍵值的全部值
1NObject HttpCollection.all(String name = "");
呼叫參數:
- name: String, 指定要查詢的鍵值,傳遞空字串傳回全部鍵值的結果
回傳結果:
- NObject, 傳回鍵值所對應全部值的數組,若資料不存在,則傳回null
add
新增一個鍵值數據,新增數據並不修改已存在的鍵值的數據
1HttpCollection.add(Object map);
呼叫參數:
- map: Object, 指定要新增的鍵值資料字典
增加一個鍵值的一組數據,添加數據並不修改已存在的鍵值的數據
1
2HttpCollection.add(String name,
Array values);
呼叫參數:
- name: String, 指定要新增的鍵值
- values: Array, 指定要新增的一組數據
新增一個鍵值數據,新增數據並不修改已存在的鍵值的數據
1
2HttpCollection.add(String name,
Variant value);
呼叫參數:
- name: String, 指定要新增的鍵值
- value: Variant, 指定要新增的數據
set
設定一個鍵值數據,設定數據將修改鍵值所對應的第一個數值,並清除相同鍵值的其餘數據
1HttpCollection.set(Object map);
呼叫參數:
- map: Object, 指定要設定的鍵值資料字典
設定一個鍵值的一組數據,設定數據將修改鍵值所對應的數值,並清除相同鍵值的其餘數據
1
2HttpCollection.set(String name,
Array values);
呼叫參數:
- name: String, 指定要設定的鍵值
- values: Array, 指定要設定的一組數據
設定一個鍵值數據,設定數據將修改鍵值所對應的第一個數值,並清除相同鍵值的其餘數據
1
2HttpCollection.set(String name,
Variant value);
呼叫參數:
- name: String, 指定要設定的鍵值
- value: Variant, 指定要設定的數據
remove
刪除指定鍵值的全部值
1HttpCollection.remove(String name);
呼叫參數:
- name: String, 指定要刪除的鍵值
delete
刪除指定鍵值的全部值
1HttpCollection.delete(String name);
呼叫參數:
- name: String, 指定要刪除的鍵值
sort
依照鍵值排序容器內的內容
1HttpCollection.sort();
keys
查詢容器內的鍵值
1NArray HttpCollection.keys();
回傳結果:
- NArray, 傳回包含所有鍵值的陣列
values
查詢容器內的數值
1NArray HttpCollection.values();
回傳結果:
- NArray, 傳回包含所有數值的數組
toString
傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現
1String HttpCollection.toString();
回傳結果:
- String, 傳回物件的字串表示
toJSON
傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合
1Value HttpCollection.toJSON(String key = "");
呼叫參數:
- key: String, 未使用
回傳結果:
- Value, 傳回包含可JSON 序列化的值