Object 內置對象

對象SslHandler

ssl 協議轉換處理器

用以將數據流轉換為 ssl流協議。SslHandler 是對SslSocket 的封裝,用於構建服務器,邏輯上相當於:

1 2 3 4 5 6 7
var ss = new ssl.Socket(crt, key); function(s) { var s1 = ss.accept(s); hdlr.invoke(s1); s1.close(); }

繼承關係

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>Handler|new Handler()|invoke()] [<this>SslHandler|new SslHandler()|verification;ca;handler] [object] <:- [Handler] [Handler] <:- [SslHandler] Handler new Handler() invoke() SslHandler new SslHandler() verification ca handler object toString() toJSON()

構造函數

SslHandler

SslHandler 構造函數,創建一個新的SslHandler 對象

1 2
new SslHandler(Array certs, Handler hdlr);

調用參數:

  • certs: Array, 服務器證書列表
  • hdlr: Handler, 內置消息處理器,處理函數,鍊式處理數組,路由對象,詳見 mq.Handler

certs 格式為:

1 2 3 4 5 6 7 8 9 10 11
[{ name: "fibjs.org", crt: [X509Cert object], key: [PKey object] }, { name: "*.fibjs.org", crt: [X509Cert object], key: [PKey object] } ]

SslHandler 構造函數,創建一個新的SslHandler 對象

1 2 3
new SslHandler(X509Cert crt, PKey key, Handler hdlr);

調用參數:

  • crt: X509Cert, X509Cert 證書,用於客戶端驗證服務器
  • key: PKey, PKey 私鑰,用於與客戶端會話
  • hdlr: Handler, 內置消息處理器,處理函數,鍊式處理數組,路由對象,詳見 mq.Handler

成員屬性

verification

Integer, 設定證書驗證模式,缺省為VERIFY_NONE

1
Integer SslHandler.verification;

ca

X509Cert, 客戶端證書驗證證書鏈

1
readonly X509Cert SslHandler.ca;

handler

Handler, ssl 協議轉換處理器當前事件處理接口對象

1
Handler SslHandler.handler;

成員函數

invoke

處理一個消息或對象

1
Handler SslHandler.invoke(object v) async;

調用參數:

  • v: object, 指定處理的消息或對象

返回結果:

  • Handler, 返回下一步的處理器

toString

返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現

1
String SslHandler.toString();

返回結果:

  • String, 返回對象的字符串表示

toJSON

返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合

1
Value SslHandler.toJSON(String key = "");

調用參數:

  • key: String, 未使用

返回結果:

  • Value, 返回包含可JSON 序列化的值