40 lines
921 B
JavaScript
40 lines
921 B
JavaScript
'use strict'
|
|
|
|
var util = require('util')
|
|
var net = require('net')
|
|
|
|
function Socket (parent, options) {
|
|
net.Socket.call(this, options)
|
|
|
|
var state = {}
|
|
|
|
this._spdyState = state
|
|
|
|
state.parent = parent
|
|
|
|
this.servername = parent.servername
|
|
this.npnProtocol = parent.npnProtocol
|
|
this.alpnProtocol = parent.alpnProtocol
|
|
this.authorized = parent.authorized
|
|
this.authorizationError = parent.authorizationError
|
|
this.encrypted = true
|
|
this.allowHalfOpen = true
|
|
}
|
|
|
|
util.inherits(Socket, net.Socket)
|
|
|
|
module.exports = Socket
|
|
|
|
var methods = [
|
|
'renegotiate', 'setMaxSendFragment', 'getTLSTicket', 'setServername',
|
|
'setSession', 'getPeerCertificate', 'getSession', 'isSessionReused',
|
|
'getCipher', 'getEphemeralKeyInfo'
|
|
]
|
|
|
|
methods.forEach(function (method) {
|
|
Socket.prototype[method] = function methodWrap () {
|
|
var parent = this._spdyState.parent
|
|
return parent[method].apply(parent, arguments)
|
|
}
|
|
})
|