onPollRequest method
void
onPollRequest(
- SocketConnect connect
The client sends a request awaiting for us to send data.
@api private
Implementation
void onPollRequest(SocketConnect connect) {
if (this.connect != null) {
_logger.fine('request overlap');
// assert: this.res, '.req and .res should be (un)set together'
onError('overlap from client');
this.connect!.response.statusCode = 500;
this.connect!.close();
return;
}
_logger.fine('setting request');
this.connect = connect;
var onClose = () {
onError('poll connection closed prematurely');
};
var cleanup = () {
_reqCloses.remove(connect);
this.connect = null;
};
_reqCleanups[connect] = cleanup;
_reqCloses[connect] = onClose;
writable = true;
emit('drain');
// if we're still writable but had a pending close, trigger an empty send
if (writable == true && shouldClose != null) {
_logger.fine('triggering empty send to append close packet');
send([
{'type': 'noop'}
]);
}
}