Tag: restify

有没有办法用restify来logging控制台中的每个请求?

我正在使用restify来构build一个API,而我习惯于express 。 有没有办法让restifylogging每一个请求,像app.use(express.logger('dev')) ?

用NodeJS和Restifyredirect客户端

我正在为NodeJS,Restify和PassportJSbuild立一个REST后端进行身份validation。 一切工作除了最后一步,这是将客户端从后端/login/ Facebook /callbackredirect到应用程序的主页。 我在网上search,发现很多ExpressJS的答案,但没有任何有用的Node-Restify。 我已经设法拿起一些代码片段,这是我现在正在尝试的: app.get('/api/v1/login/facebook/cb', passport.authenticate('facebook', { scope: 'email' }), function(req, res) { req.session.user = req.user._id; res.header('Location', '/#/home'); res.send(); }); 响应被发送,但位置标题不包括在内,并且客户机呈现白色屏幕。 如何使用Node-Restify API做适当的redirect?

在Restify中pipe理错误

如何pipe理NodeJS的Restify服务器的所有错误? 例如内部错误,数据库错误,validation,所需的参数,未find,athorizeds …和uncaughtException并返回到浏览器的自定义响应? 我如何devise控制器之间的数据和错误的份额? 谢谢

你怎么发送HTML与restify

我想发送一个简单的html而不是一个JSON响应为我的路线之一restify。 我尝试设置响应的contentType和header属性,但似乎没有设置headerType中的contentType(浏览器试图下载文件而不是渲染它)。 res.contentType = 'text/html'; res.header('Content-Type','text/html'); return res.send('<html><body>hello</body></html>');

使用RESTify Node.js创build一个OAuth2.0服务提供者

我有一个使用node.js和node-restify构build的restful API。 我已经到了需要保护的地方。 显然,很容易找出如何使用OAuth 2.0作为客户端,但很难find如何build立一个提供商。 我想我的谷歌技能不像以前那么好。 有人能指出我从哪里开始? 有没有一个基本的OAuth 2.0服务器提供程序库的节点? 如果需要创build自己的库,我没有任何问题,但是我看了一下规范,并且是规范,看起来过于复杂。 我会认为会有某种教程,networking广播或“世界你好”风格的项目,这个项目把我的虚拟angular色打破了。 谢谢你的想法。

用restify(node.js)提供静态文件

我有以下代码: app.js […] server.get(/\/docs\/public\/?.*/, restify.serveStatic({ directory: './public' })); server.listen(1337, function() { console.log('%s listening at %s', server.name, server.url); }); 我有以下文件结构 app.js public/ index.html 所以我尝试浏览: http://localhost:1337/docs/public/index.html 我得到了 { code: "ResourceNotFound", message: "/docs/public/index.html" } 我尝试了几个变化,但没有一个似乎工作。 我相信它应该是我很想念的东西

如何用Node.JS的restify框架parsing/读取多个参数

情景 :我们的开发人员正在尝试用Node.JS Restful APIreplace一个Web服务(用C#.Net编写)。 问题 :现在我们需要处理传入的请求(我们无法控制它)。 所以以下是传入url的格式: http://www.website.com/Service.aspx?UID=Trans001&FacebookID=ae67ea324&GetDetailType=FULL 我能够处理的URL如下所示: http://www.website.com/service/Trans001/ae67ea324/FULL 我可以从上面的URLparsing/读取参数 码: var server = require('restify').createServer(); function respond(req, res, next) { console.log("req.params.UID:" + req.params.UID); console.log("req.params.FacebookID:" + req.params.FacebookID); console.log("req.params.GetDetailType" + req.params.GetDetailType); } server.get('/service/:UID/:FacebookID/:GetDetailType', respond); server.listen(8080, function () { console.log('%s listening at %s', server.name, server.url); }); 问题 :如何从格式如http://www.website.com/Service.aspx?UID=Trans001&FacebookID=ae67ea324的URL中读取多个参数

用RESTIFY服务静态文件

我正在学习使用Node.js. 目前,我有一个文件夹结构,如下所示: index.html server.js client index.html subs index.html page.html res css style.css img profile.png js page.js jquery.min.js server.js是我的networking服务器代码。 我使用node server.js从命令行运行。 该文件的内容是: var restify = require('restify'); var server = restify.createServer({ name: 'Test App', version: '1.0.0' }); server.use(restify.acceptParser(server.acceptable)); server.use(restify.queryParser()); server.use(restify.bodyParser()); server.get('/echo/:name', function (req, res, next) { res.send(req.params); return next(); }); server.listen(2000, function () { console.log('%s running on […]

Node.js上的MongoDB连接的最佳做法是什么?

这对我来说有点不清楚(我刚刚开始使用Node和Mongo),而且由于服务器的性能和紧张(我猜这是另一个问题,但是我会在post的结尾)。 所以,假设我正在用Node.js和Restify编写一个API,其中每个API端点都对应一个函数,我应该: a)打开数据库连接并将其存储在全局variables中,然后在每个函数中使用它? 例: // requires and so on leave me with a db var, assume {auto_reconnect: true} function openDB() { db.open(function(err, db) { // skip err handling and so on return db; } } var myOpenDB = openDB(); // use myOpenDB in every other function I have b)打开数据库连接,然后把所有东西放在一个巨大的closures? 例: // same as above db.open(function(err, […]

错误:getaddrinfo ENOTFOUND在获取调用的nodejs中

我在节点上运行一个Web服务器,代码如下 var restify = require('restify'); var server = restify.createServer(); var quotes = [ { author : 'Audrey Hepburn', text : "Nothing is impossible, the word itself says 'I'm possible'!"}, { author : 'Walt Disney', text : "You may not realize it when it happens, but a kick in the teeth may be the best thing […]