Articles of restify

确定2.6发布数据

我只是开始尝试Restify(和一般的NodeJS),并且我有一些麻烦来获取用户的POST数据。 我有一个基本的节点应用程序。 在文档和一些博客文章,我读它就像使用queryParser一样简单,但它不工作。 我认为问题出在我的CURL命令上。 节点App: var restify = require('restify'); function userCreation(request, result, next) { console.log(request.body); console.log(request.query); console.log(request.params); result.send({ name: request.params.name }); return next(); } var server = restify.createServer({ version: '1.0.0' }); server.use(restify.gzipResponse()); server.use(restify.queryParser()); server.post({ path: '/users', versions: ['1.0.0'] }, userCreation); server.listen(8080, function() { console.log('%s listening at %s', server.name, server.url); }); CURL命令: curl -is -X POST […]

基本authentication与Node.js和restify

我目前正在用NodeJS开发一个REST风格的Web服务并进行调整 。 我已经把所有的东西都和node-mysql一起运行,但是我也想实现HTTP基本authentication。 我只用Apache和一个.htaccess文件做了一次。 但是这里的Web服务器带有restify,我开始像这样: var server = restify.createServer({ name: 'my webservice' }); 在restify文档( http://mcavage.me/node-restify/#Bundled-Plugins )中列出了一个authenticationparsing器插件,但我不知道如何使用它。 即使使用http://user:pass@url… , req.username值也始终设置为匿名。 最好的事情是,如果我可以用.htpasswd文件来存储/访问用户并传递。 有谁知道如何实现这与restify或其他模块?

将jQuery JSON对象发布到NodeJs Restify

我想知道为什么很难发布一个简单的JSONstring在/:parameter来restify。 我跟着很多例子,但没有find具体的东西。 我在前端有以下代码。 $("#btnDoTest").click(function() { var jData = { hello: "world" }; var request = $.ajax({ url: "http://localhost:8081/j/", async: false, type: "POST", data: JSON.stringify(jData), contentType: "application/javascript", dataType: "json" }); request.success(function(result) { console.log(result); }); request.fail(function(jqXHR, textStatus) { alert("Request failed: " + textStatus); }); }); 如果我连接j/后的参数,我发送简单的文本是成功的。 但是我想发送的是一个像这样的对象{hello:"world"}并将其重构到nodeJS中并使用它。 – 编辑: This is my nodejs file /* the below […]

如何得到Restify服务器的确切的IP地址在听?

考虑下面的代码为restAPI节点服务器。 var restify = require('restify'); var server = restify.createServer(); server.get('/echo/:name', function (req, res, next) { res.send({name: req.params.name}); next(); }); server.listen(8080, function () { console.log('%s listening at %s', server.name, server.url); }); 用节点运行该服务器: $ node echo.js restify listening at http://0.0.0.0:8080 它显示0.0.0.0这是错误的。 任何人都可以如何控制台login服务器的确切的IP时,它打开? 谢谢 更新 :执行下面的代码,我得到下面提到的输出,这又是很难,哪个IPselect? rest_server.listen(config.appPort, function () { var adrs = require('os').networkInterfaces(); console.log(adrs); console.log('%s listening at […]

找不到模块dtrace-provider

我有一个简单的nodejs应用程序抛出"Cannot find module './build/Release/DTraceProviderBindings'" 。 我在网上查找它,看起来像很多人在Windows上使用restify(这是我的情况,我在Windows 10上使用restify)有同样的问题。 显然, dtrace-provider是一个可选模块,用于调整 ,没有Windows的版本。 所以,我到目前为止的尝试: 更新节点到v6.2.0; 卸载所有模块并运行npm install –no-optional ; 只卸载restify并运行npm install restify –no-optional ; 而我最绝望的举动npm install dtrace-provider 。 我在github问题上发现的所有东西,我发现OSX用户和其他模块有相同的错误。 不知道还有什么要尝试。 注意:这个exception不会停止我的应用程序,甚至不会在控制台上打印错误,我只是注意到这是使用debugging器发生的,换句话说,我的应用程序运行正常,但是这种情况在后台继续发生。 我正在使用的其他模块列表: "dependencies": { "restify": "latest", "request": ">=2.11.1", "cheerio": ">=0.10.0", "xml2js": ">=0.2.0", "botbuilder": "^0.11.1", "applicationinsights": "latest" }

restify 2.6.1如何禁用特定请求的body parser

我对node.js服务非常陌生,而且我正面临一个multipart / form-data内容types的问题。 我需要一种方法来禁用特定请求的身体分析器function。 我正在使用restify 2.6.1。 下面是一些configuration的片段。 我的设置是: App.js : server.use(restify.authorizationParser()); server.use(restify.dateParser()); server.use(restify.queryParser()); server.use(restify.jsonp()); server.use(restify.bodyParser()); server.use(restifyValidator); server.use(restify.gzipResponse()); server.use(passport.initialize()); server.use(restify.conditionalRequest()); Route.js : app.post({path: '/test/upload/:upload_image_name', version: ver}, uploadCtr.uploadImage); app.post( {path: '/test/upload/:upload_image_name', version:ver }, passport.authenticate('bearer',{ session: false}),uploadCtr.uploadImage); 没有restify.bodyParser()上传图像工作(但依赖于jsonparsing器的一切都失败了) 提前致谢。

用Restifyparsingurl编码体

我无法使用restify对我的node.js API执行url编码的post。 我有我的restify应用程序的以下设置: app.use(restify.acceptParser(app.acceptable)); app.use(restify.queryParser()); app.use(restify.urlEncodedBodyParser()); 但是,当我要求我的应用程序使用curl与下面的请求: curl -X POST -H "Content-type: application/x-www-form-urlencoded" -d quantity=50 http://app:5000/feeds 我在我的视图中获得以下input正文: console.log(req.body) // "quantity=50" 提前致谢, 马蒂亚斯

在socket.io中使用restify时,'headers already sent'错误

我正在跟随正式的游戏指南来使用socketio和restify。 api.js var mongoose = require('mongoose'); var restify = require('restify'); var fs = require('fs'); var server = restify.createServer({ name: 'myapp', version: '1.0.0' }); var io = require('socket.io')(server); server.get('/', function indexHTML(req, res, next) { fs.readFile(__dirname + '/sockettest.html', function (err, data) { if (err) { next(err); return; } res.setHeader('Content-Type', 'text/html'); res.writeHead(200); res.end(data); next(); }); }); io.on('connection', function(socket){ […]

Nodejs Restful Auth

我是新的Nodejs,我正在做一个resttify服务器。 所以,我有一个场景,我有很多设备(具有唯一的ID)通过rest更新数据。 我想要做的是validation他们,并给一个身份validation令牌。 像这样的东西: 第一次:uri / api / auth – >得到令牌。 然后:使用令牌和更新产品的uri / api / product / …. – > 我试图使用restify-node-token,但我没有成功。

如何在NodeJs上为RestAPI创build一个干净的体系结构

我正在考虑将一些REST服务移动到NodeJS。 我唯一担心的是这种解决scheme的架构。 它是否存在某个指导方针? 当然,我看到一些图书馆喜欢restify。 这是一个好的开始,但还不够。 我期待层的分离,dependency injection,unit testing,CSRF和更多。