Articles of 请求

每个HTTP /会话请求的GLOBAL数据?

题: 有没有办法在每个会话/ http请求中创build一个variables存储? 该variables必须是全局可访问的,并且不同的每个HTTP请求/连接/会话,并且不需要从function传递到function。 例如(只是为了说明): setVariableThatCanBeAccessedByThisHTTPRequestOnly( 'a string data' ); 任何东西都应该可以工作,但我宁愿远离将它从function传递到function。 //I'm trying to get rid of passing req parameter to all custom functions. //I'd like to store it in a variable somehow, that it can be accessed globally, but only within that session/request. exports.functionName = function( req, res ) { customFunctionThatRequiresReq( req ); }; […]

Sinon – 如何存根嵌套函数?

道歉,如果这是一个简单的问题,我是相对较新的节点和Sinon。 我努力想弄清楚如何断言在Nodejs中调用了一个嵌套的asynchronous函数。 我正在使用摩卡,柴,sinon和请求( https://github.com/request/request ),但认为我遗漏了一些基本的部分。 在my_app.js里面的例子 – var request = require('request'); function MyModule() { }; MyModule.prototype.getTicker = function(callback) { request('http://example.com/api/ticker', function(error, response) { if (error) { callback(error); } else { callback(null, response); } }); }; exports.mymodule = new MyModule(); 在testing里面。 我正在试图剔除请求并提供一些虚拟数据返回。 但我不断收到一个错误“请求未定义”在我创build存根的行上。 var myApp = require('../my_app.js') ,assert = require("assert") ,chai = require('chai') ,sinon = require('sinon') […]

访问自定义请求标头节点expression

我正在build立一个快速的Web API,并没有find访问传入的自定义请求标题的信息。 例如,我期待一个传入的post请求有一个provider_identifier头。 当我收到请求时,我需要访问该头信息来validation其订阅。 有人能指出我在正确的方向/提供build议吗? router.post('myendpoint/', function(req, res){ var providerId = req.????; });

使用节点请求将Cookie JAR导出到JSON

request文档通过以下示例介绍如何从文件导入cookie: var FileCookieStore = require('tough-cookie-filestore'); // NOTE – currently the 'cookies.json' file must already exist! var j = request.jar(new FileCookieStore('cookies.json')); request = request.defaults({ jar : j }) request('http://www.google.com', function() { request('http://images.google.com') }) 但是,正如评论中指出的那样,它预计cookies.json已经存在。 问题是,如果我有一个带有cookie的exsting jar,我怎样才能把它导出到JSON?

没有方法“setMaxListeners”错误

根据这个问题,我需要调用request.setMaxListeners(0)来解决所描述的问题。 当我尝试做: var request = require('request'); request.setMaxListeners(0); 我收到以下错误信息: request.setMaxListeners(0); ^ TypeError: Object function request(uri, options, callback) { if (typeof uri === 'undefined') throw new Error('undefined is not a valid uri or options object.') if ((typeof options === 'function') && !callback) callback = options if (options && typeof options === 'object') { options.uri = uri } […]

Node.js请求下载文件有时为空或不存在

我正在用node.js和请求模块写一个下载器。 使用我正在做的stream语法 var r = request(url).pipe(fs.createWriteStream(targetPath)); r.on('error', function(err) { console.log(err); }); r.on('finish', cb); 下载文件,保存并调用callback。 但是,在接近50%的情况下,文件是空的或者根本不创build。 没有error事件。 即使文件还没有(完全)写入,看起来finish事件也会被触发。 上下文:整个事情被包装成async.each调用。 任何线索? 谢谢!

如何使用请求库和Bluebird发送发布请求?

所以inheritance人我的设置: var Promise = require("bluebird"); var request = Promise.promisify(require('request')); 这工作: request('url') 它返回一个承诺 这不: request.post('url', {form: {type: 'artist'}}) 给我这个错误: TypeError: Object function promisified(_arg0,_arg1) { … }has no method 'post' at /Users/beamer30/projects/wevo/controllers/music.js:85:30 at Array.map (native) at MusicSearch.spotifyRelated (/Users/beamer30/projects/wevo/controllers/music.js:84:22) at MusicSearch.findRelatedArtists (/Users/beamer30/projects/wevo/controllers/music.js:48:7) at musicController.search (/Users/beamer30/projects/wevo/controllers/music.js:100:17) at Layer.handle [as handle_request] (/Users/beamer30/projects/wevo/node_modules/express/lib/router/layer.js:76:5) at next (/Users/beamer30/projects/wevo/node_modules/express/lib/router/route.js:100:13) at Route.dispatch (/Users/beamer30/projects/wevo/node_modules/express/lib/router/route.js:81:3) at Layer.handle […]

在nodejs中,如何将请求npm的原始put数据发送出去?

我需要在节点中使用“require”npm来打api。 api需要原始数据(不能放入字段)。 如何使用请求npm执行此操作? 我需要发送的示例原始数据: var body = { "id": 123, "squares": [ { square_id: 345, color: "#ccc" }, { square_id: 777, color: "#fff" } ] } 我正在尝试,但它不工作: request({ method: "PUT", uri: UPDATE_GAME, multipart: [{ 'content-type': 'application/json', body: JSON.stringify(body) }] }

如何使用cookie(request,tough-cookie,node.js)

我想知道如何使用cookie与请求 ( https://github.com/mikeal/request ) 我需要设置一个可以从请求中获取每个子域的cookie, 就像是 * .examples.com path是每个页面,就像 / 那么服务器端就可以正确地从cookie中获取数据,就像 testing= 1234 我发现从响应安装的cookie工作正常, 我添加了一个自定义的jar来保存cookie,就像 var theJar = request.jar(); var theRequest = request.defaults({ headers: { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36' } , jar: theJar }); 但我从请求设置的cookie,只能在同一个域中获取, 我无法find一个方法来设置cookie更多的选项 现在,如果我想要一个能够在三个子域中获取的cookie, 我必须这样设置: theJar.setCookie('test=1234', 'http://www.examples.com/', {"ignoreError":true}); theJar.setCookie('test=1234', 'http://member.examples.com/', {"ignoreError":true}); theJar.setCookie('test=1234', […]

SyntaxError:Object.parse(native)npm请求的input意外结束

你好,我不明白为什么我有这个错误,我认为callback一旦收到数据执行,任何想法,这是从哪里来的? 非常感谢! 节点错误: SyntaxError: Unexpected end of input at Object.parse (native) 我parsing身体的答案发送到一个计算function,然后发送到页面= / var options = { method: 'POST', url: self.rippledataapiProxyHost.account_offers_exercised, headers: { "Content-Type": "application/json", "Accept": "application/json" }, body:parameters }; var callback = function(error, response, body) { if (error) { console.log('error', error); res.send(500, 'something went wrong'); } console.dir("bodyyyyyyyy====>",body); var rippleoffersexercised = new self.datacalcul.rippleoffersexercised; var data […]