Comments (7)
@unscene Not compatible in what way? Is there an error thrown? If so, can you paste the stack trace?
from union.
@indexzero sure updated main issue for you
from union.
It looks like in core.js somewhere between
break in node_modules/union/lib/core.js:24
and here
break in node_modules/flatiron/node_modules/director/lib/director/http/index.js:76
The response object no longer is of type http.ServerResponse, or at least a crippled version.
from union.
Yes, I see. We need to pass-thru this method from http.ServerResponse
from union.
I upgraded to the latest version of connect (2.0.0) and that fixed my problem. However if you want to use the latest version (1.8.5) of connect on npm, any connect middleware that abuses _implicitHeader will cause union to DIAF. Passing through _implicitHeader in ResponseStream "works" but then the patch.js problem in connect reveals itself.
The only suggestion I have is maybe pass through all methods of http.ServerResponse, so these issue can be exposed by the faulty middleware.
from union.
We should update the docs to specify the compatibility with only connect >= 2.0.0
from union.
there's still issue with connect session middleware and union:
-union: 0.1.7
-flatiron: 0.1.11
-connect: 2.0.0alpha1
As mentioned, connect
patch ServerResponse
prototype to support event "header"
. (connect/lib/patch.js
)
On session
middleware, connect
expect the response parameter to be a http.ServerResponse
and it listens to "header"
event to write cookie header.
(line 221 on connect/lib/middleware/session.js
)
// set-cookie
res.on('header', function(){
if (!req.session) return;
var cookie = req.session.cookie
, proto = (req.headers['x-forwarded-proto'] || '').toLowerCase()
, tls = req.connection.encrypted || (trustProxy && 'https' == proto)
, secured = cookie.secure && tls;
// browser-session cookies only set-cookie once
if (null == cookie.expires && !sessionIsNew) return;
// only send secure cookies via https
if (cookie.secure && !secured) return debug('not secured');
debug('set %s to %s', key, req.sessionID);
res.setHeader('Set-Cookie', cookie.serialize(key, req.sessionID));
});
As response object forwarded by union
to connect
is a ResponseStream
object, "header"
event is never emit.
from union.
Related Issues (20)
- everyauth middleware problem HOT 4
- Where to put app.use() configurations? HOT 9
- Connect 2.0.3 bodyParser middleware issue HOT 12
- Make v0.3.2 compatible with connect HOT 10
- SPDY support HOT 2
- Simple case from Readme.md HOT 2
- Add redirect method to http response stream HOT 3
- connect.session doesn't work for connect > 2.3.5 HOT 6
- Most basic Union server takes 200ms to respond, compared to 2ms for Express? HOT 3
- .
- Connect compatibility issue (bodyParser) HOT 1
- 0.10 compatibility only HOT 2
- GitHub repo description link mentions http://http// HOT 1
- Stream overwhelmed by `ResponseStream` causing memory leak HOT 2
- Not compatible with connect-static-file middleware
- Does this library support private key passphrase?
- Prototype Override Protection Bypass Vulnerability HOT 1
- Header test hangs
- DeprecationWarning: OutgoingMessage.prototype._headers is deprecated HOT 1
- Don't overshare
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from union.