Tag: 连接

如何设置连接服务器(节点)在HTTPS上工作? 错误:错误:0906D06C:PEM例程:PEM_read_bio:无起始行

我正在使用连接服务器,我需要在https下创build我的本地主机(即使证书无效)。 目前我正在使用以下脚本创build一个服务器列表在http://127.0.0.1:8080/ 我需要将其设置为: https : //127.0.0.1 : 8080/ 如何configuration连接服务器? gulp.task('dev:connect', function () { // runs connect server for rapid development connect.server({ root: '' }); }); 我也尝试这个,但没有成功: var https = require('https'); var options = { key: fs.readFileSync('b.key'), cert: fs.readFileSync('a.crt') }; var app = connect(); // error here object is not a function https.createServer(options, app).listen(8080);

在没有Content-Length的情况下进行stream式传输

我正在使用Node.js,Express(和连接)和fluent-ffmpeg。 我们希望通过http传输存储在Amazon S3上的audio文件。 除了我们希望添加一个特性,即通过ffmpeg实时转换stream之外,我们所有的工作都正在进行。 这是行之有效的,问题是有些浏览器在实际获取文件之前提前检查。 包含Range头部的传入请求,我们用S3的所有信息回复206,有一个基本问题:我们需要事先知道文件的内容长度。 我们不知道,因为它正在经历ffmpeg。 一种解决scheme可能是在存储文件(在一个特殊的头文件中)时直接在S3上写出结果的内容长度,但这意味着我们必须经历上传之后让队列进行编码的痛苦,以便知道将来的大小要求。 这也意味着,如果我们改变压缩机或预设,我们必须经历这一切,所以这不是一个可行的解决scheme。 我们也注意到Chrome和Safari请求audio标签src的方式存在很大差异,但这可能是另一个话题的讨论。 事实是,如果没有一个合适的内容长度标题,响应一切似乎中断或浏览器进入一个无限循环或愉快地重新启动stream。 想法?

如何传递连接logging器的参数?

这是一个基本的问题,但我不确定将连接logging器中间件中的parameter passing给stream的语法是什么。 http://senchalabs.github.com/connect/middleware-logger.html 是吗?: connect.logger('default', myLogger) 如果我想把它logging下来,我会传入Loggly对象吗? 什么接口将不得不实施?

带胡子模板的空白输出,connect&node.js

我刚刚进入这个完整的node.js业务,并喜欢它; 不过,我遇到了一个涉及connect / mustach的问题。 这是简单的一个页面应用程序的代码; 在这一点上,我真的只是想让应用程序使用我的小胡子模板,以便我可以从那里拿走它。 var connect = require("connect"), fs = require("fs"), mustache = require("mustache"); connect( connect.static(__dirname + '/public'), connect.bodyParser(), function(req, res){ var data = { variable: 'Some text that I'd like to see printed out. Should in the long run come from DB.' }, htmlFile = fs.createReadStream( __dirname + "/views/index.html", { encoding: "utf8" […]

我如何设置每个会话的默认variables

我已经build立了我的快速/连接应用程序来使用与redis的会话作为商店: app.use(express.session({ secret: "secret key here", store: app.redisStore, cookie: { maxAge: 600000 } })); 我通过执行以下操作创build了自己的Flash消息系统: module.exports = function (app) { 'use strict'; //set-up session messages app.use(function (req, res, next) { /* set up flash*/ if (req.session.flash === "undefined") { req.session.flash = []; } res.locals.messages = function () { var messages = req.session.flash; //clear out messages […]

expression错误中间件不处理从promise.done()抛出的错误

如果我抛出一个错误,express使用connect errorHandler中间件很好地呈现它。 exports.list = function(req, res){ throw new Error('asdf'); res.send("doesn't get here because Error is thrown synchronously"); }; 当我在一个承诺中抛出一个错误,它将被忽略(这对我来说是有意义的)。 exports.list = function(req, res){ Q = require('q'); Q.fcall(function(){ throw new Error('asdf'); }); res.send("we get here because our exception was thrown async"); }; 但是,如果我在一个promise中抛出一个Error并且调用“done”节点崩溃,因为这个exception不被中间件捕获。 exports.list = function(req, res){ Q = require('q'); Q.fcall(function(){ throw new Error('asdf'); }).done(); res.send("This […]

在connect / express中使用cookieSession()时,为会话设置单独的maxAge

我试图使用连接/expressioncookieSession()为了存储我的node.js会话在cookie中(从而避免服务器端会话存储)。 这将帮助我在用户login时“记住”用户,即使在服务器重新启动后仍然保持会话活动。 我想用cookieSession()来做到这一点: app.use( express.cookieSession( { secret: 'secret_key' } ) ); app.use( function (req, res, next) { if ( req.method == 'POST' && req.url == '/login' ) { if ( req.body.remember ) { req.session.cookie.maxAge = 30*24*60*60*1000; // Rememeber 'me' for 30 days } else { req.session.cookie.expires = false; } } next(); }); 但是,这是行不通的,因为req.session.cookie是未定义的。 我也尝试了以下,但似乎没有工作: app.use( […]

我怎样才能访问express的uploadDir属性?

在express app.js中,我定义了uploadDir =“./tmp” ,但是如何在以后访问? app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser({uploadDir:'./tmp', keepExtensions: true})); // <– app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); });

优化Node.js入站/出站连接

我有关于node.js入站/出站连接的问题。 让我们考虑一下我的情况或者我想达到的目的: 我有例如每秒X入站http请求。 对于每个请求,我创build出站https请求给一些第三方(他们回应我平均300毫秒)。 当我收到这个第三方的回复时,我认为这个请求会被处理。 让我们想象第三方有很多很多的服务器,可以并行pipe理请求。 对于每个请求我有几个mongoDB查询(这是快速)。 我使用快速框架。 在我的笔记本电脑(4核心和4 GB的RAM与Windows和很多其他程序可能会损害性能可能会损坏)我能够得到每秒150个请求,但只有40个被处理。 我不知道:这实际上是现实吗?理论上我不能在这个世界上有更多或者某个地方能够获得一些解决scheme/技巧来改善我的performance吗? 感谢您的任何build议。

req.originalUrl没有设置restify(连接会话中间件需要)

当我尝试使用连接会话中间件使用restify时,出现错误。 会话中间件期望req.originalUrl但restify不设置该属性。 (它只设置req.url)这会导致会话代码中的exception。 有没有解决方法? 谢谢Sharath