spdy-http2 / node-spdy

SPDY server on Node.js
2.81k stars 196 forks source link

When spdy used with express error occures #172

Closed coderaiser closed 10 years ago

coderaiser commented 10 years ago

After installing last versions of spdy v1.8.1 and express v4.8.5 with:

npm i spdy express

When I use this code:

var http        = require('spdy'),
    express     = require('express'),

    app         = express(),
    server      = http.createServer(app);

Error occurs:

coderaiser@cloudcmd:~/console$ node console.js

/home/coderaiser/console/node_modules/express/node_modules/finalhandler/index.js:72
      res.statusCode = 404
                     ^
TypeError: Cannot set property 'statusCode' of undefined
    at /home/coderaiser/console/node_modules/express/node_modules/finalhandler/index.js:72:22
    at Function.app.handle (/home/coderaiser/console/node_modules/express/lib/application.js:137:5)
    at Server.app (/home/coderaiser/console/node_modules/express/lib/express.js:28:9)
    at Server._init (/home/coderaiser/console/node_modules/spdy/lib/spdy/server.js:77:10)
    at new Server (/home/coderaiser/console/node_modules/spdy/lib/spdy/server.js:21:10)
    at Object.create [as createServer] (/home/coderaiser/console/node_modules/spdy/lib/spdy/server.js:328:10)
    at Object.<anonymous> (/home/coderaiser/console/console.js:5:24)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
indutny commented 10 years ago

Hello!

1.8.1 is quite old version, perhaps you should try 1.28.1 ?

coderaiser commented 10 years ago

Looks like I put wrong version, sorry. I use last version from npm and it is 1.28.1.

dougwilson commented 10 years ago

first arg to require('spdy').createServer is not the requestListener, it's an options object or something. looks like it will work if you do http.createServer(undefined, app)

coderaiser commented 10 years ago

@dougwilson, when I use this code:

 server      = http.createServer({}, app),

This error occures:

tls.js:1124
    throw new Error('Missing PFX or certificate + private key.');

Looks like node-spdy could not work with http only with https?

indutny commented 10 years ago

It could! Just use ssl: false, plain: true options.

coderaiser commented 10 years ago

Thanks a lot, it works :). Could you please add this options to README.md.

indutny commented 10 years ago

What exactly? I think it already mentions plain and ssl options.

coderaiser commented 10 years ago

Yes, its' true. I haven't seen it. Thank you.