| Index: runtime/bin/secure_socket_patch.dart
|
| ===================================================================
|
| --- runtime/bin/secure_socket_patch.dart (revision 23079)
|
| +++ runtime/bin/secure_socket_patch.dart (working copy)
|
| @@ -3,6 +3,9 @@
|
| // BSD-style license that can be found in the LICENSE file.
|
|
|
| patch class SecureSocket {
|
| + /* patch */ factory SecureSocket._(RawSecureSocket rawSocket) =>
|
| + new _SecureSocket(rawSocket);
|
| +
|
| /* patch */ static void initialize({String database,
|
| String password,
|
| bool useBuiltinRoots: true})
|
| @@ -15,6 +18,25 @@
|
| }
|
|
|
|
|
| +class _SecureSocket extends _Socket implements SecureSocket {
|
| + _SecureSocket(RawSecureSocket raw) : super(raw);
|
| +
|
| + void set onBadCertificate(bool callback(X509Certificate certificate)) {
|
| + if (_raw == null) {
|
| + throw new StateError("onBadCertificate called on destroyed SecureSocket");
|
| + }
|
| + _raw.onBadCertificate = callback;
|
| + }
|
| +
|
| + X509Certificate get peerCertificate {
|
| + if (_raw == null) {
|
| + throw new StateError("peerCertificate called on destroyed SecureSocket");
|
| + }
|
| + return _raw.peerCertificate;
|
| + }
|
| +}
|
| +
|
| +
|
| /**
|
| * _SecureFilterImpl wraps a filter that encrypts and decrypts data travelling
|
| * over an encrypted socket. The filter also handles the handshaking
|
|
|