mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
Fixes https://github.com/marko-js/async-writer/issues/3 - flush is deprecated in OutgoingMessage
This commit is contained in:
parent
b355f1f217
commit
4ce14241e8
@ -31,6 +31,26 @@ if (process.env.hasOwnProperty('MARKO_HOT_RELOAD')) {
|
||||
// enable browser-refresh
|
||||
require('../browser-refresh').enable();
|
||||
|
||||
function fixFlush() {
|
||||
try {
|
||||
var OutgoingMessage = require('http').OutgoingMessage;
|
||||
if (OutgoingMessage.prototype.flush && OutgoingMessage.prototype.flush.toString().indexOf('deprecated') !== -1) {
|
||||
// Yes, we are monkey-patching http. This method should never have been added and it was introduced on
|
||||
// the iojs fork. It was quickly deprecated and I'm 99% sure no one is actually using it.
|
||||
// See:
|
||||
// - https://github.com/marko-js/async-writer/issues/3
|
||||
// - https://github.com/nodejs/node/issues/2920
|
||||
//
|
||||
// This method causes problems since marko looks for the flush method and calls it found.
|
||||
// The `res.flush()` method is introduced by the [compression](https://www.npmjs.com/package/compression)
|
||||
// middleware, but, otherwise, it should typically not exist.
|
||||
delete require('http').OutgoingMessage.prototype.flush;
|
||||
}
|
||||
} catch(e) {}
|
||||
}
|
||||
|
||||
fixFlush();
|
||||
|
||||
function loadSource(templatePath, compiledSrc) {
|
||||
var templateModulePath = templatePath + '.js';
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user