Articles of superagent

用mocha-chai superagenttesting多个同时进行的会话

我正在尝试编写多个套接字连接的testing,我需要多个会话(同时) ,因为它们由服务器端的会话ID标识。 在下面的例子client1将连接和握手将通过与会话ID的cookie,所以我可以使用express-socket.io会话获取该用户的会话数据…. 我遇到的问题是,当我想连接第二个套接字,握手数据传递通过显然将是相同的第一个套接字。 我不能只发送一个注销请求,并更改用户,因为我试图testing多人游戏function。 var agent = chai.request.agent(app) describe("authentication", function () { it('login as user', function (done) { agent .post('/login') .send({ username: username, password: password }) .then(function (res) { expect(res).to.have.status(200); expect(res).to.have.cookie('connect.sid'); done() }) .catch(function (err) { done(err) }) }); }) describe("socket tests", function () { var client1, client2; it('can connect to socket', function (done) […]

如何在nodejs中使用superagent语法更改值属性?

在nodejs中使用superagent包,我不知道我能在.end()中做什么。 在“get”函数中获取数据之后,我试图改变“标题”和“描述”的值,但它们保持不变。 另外,当我试图返回.end()中的data.body [0] .title,然后 var todo = new Todo(); console.log(todo.get()); 它说这是不确定的。 如何使用superagent语法更改Todo属性的值? 代码如下: function Todo() { this.title = "milk"; this.description = "ok, Milk is a white liquid produced by the mammary glands of mammals."; } util.inherits(Todo, Model); Todo.prototype.get = function() { console.log(this.title); request .get(this.read().origin + '/todos/11' + '?userId=1&accessToken=' + this.read().accessToken) .send({ username : 'jiayang', […]

Supertest +确定gzipResponsefile upload

我越来越 TypeError: Cannot read property 'status' of undefined 当试图上传一个文件使用supertest到一个简单的restify服务器,打开gzipResponse 。 版本等: $ npm list | grep 'super\|mocha\|restify' ├─┬ mocha@2.4.5 ├─┬ restify@4.0.4 └─┬ supertest@1.2.0 └─┬ superagent@1.8.3 $ node -v v5.5.0 服务器: const restify = require('restify'); const server = restify.createServer(); server.use(restify.gzipResponse()); server.put('image', (req, res) => { res.send(200); }); module.exports = server; 考试: const request = require('supertest'); const […]

Messenger Bot“睡眠模式”getaddrinfo

我得到了一个在nodejs(expressjs)中制作的bot,并在我的私有VPS上托pipe,我遇到了使用superagent lib进行HTTP请求的错误。 当长时间不活动时,nodejs服务器就像在“睡眠模式”中一样,第一个请求总是在我的try / catch中捕获的错误,错误如下所示: 我有另一个托pipe在heroku的机器人,但我没有这个错误,似乎它可能是我的VPS / Apache代理? 第一次请求后,当我做了一个新的,它按预期工作。 这就像我的服务器处于“睡眠模式”,第一个请求告诉他醒来。 感谢您的回答。

得到错误的请求而不是完整的错误信息

我正在尝试使用以下(使用superagent )相同的用户电子邮件进行POSTerror handling: export function signUpUser(userData) { return async dispatch => { try { const currentUser = await request.post(`${url}/signup`).send(userData); set(window.localStorage, 'x-auth', currentUser); dispatch(signUpSuccessObject(userData)); } catch (error) { dispatch(signUpFailObject(error)); } }; } 我想要得到我可以在我的networking选项卡中看到的以下内容: {“name”:“SequelizeUniqueConstraintError”,“errors”:[{“message”:“email must be unique”,“type”:“unique violation”,“path”:“email”,“value” fsl.co”, “原产地”: “DB”, “实例”: 但是,我所得到的是: 错误的请求 我的API控制器: User.create( Object.assign(req.body, { password: bcrypt.hashSync(req.body.password, 10), }) ) .then(() => { […]

Superagent在asynchronous瀑布中移动响应callback位置

我有一个简单的工作superagent / async瀑布请求,看起来像这样: request = require 'superagent' user = request.agent() async.waterfall [ (cb)-> user.post('http://localhost:3000/form').send(name: 'Bob').end(cb) ], (err, res)-> console.log err console.log res 这成功地打印我的完整http响应,而err是undefined 。 如果我用一个额外的步骤完成同样的事情: request = require 'superagent' user = request.agent() async.waterfall [ (cb)-> user.post('http://localhost:3000/form').send(name: 'Bob').end(cb) (err, res)-> # this is never reached cb() ], (err, res)-> console.log err # this now prints out […]

Superagent res.text是未定义的

我正在尝试使用Mocha和SuperAgent的TDD方法,但是当SuperAgent的res.text以某种方式未定义的时候卡住了。 testing: it('should return 2 given the url /add/1/1', function(done) { request .get('/add/1/1') .end(function(res) { res.text.should.equal('the sum is 2'); done(); }); }); 码: router.get('/add/:first/:second', function(req, res) { var sum = req.params.first + req.params.second; res.send(200, 'the sum is ' + sum); });

用mocha / superagenttesting本地https服务器

所以我看到几个月前有一个pull请求,superagent允许你在请求中指定CA. 似乎没有更新文档来反映这种变化,所以我似乎无法弄清楚如何去做。 我正在尝试在本地机器上testing公开http和https端点的REST服务。 所有的http工作正常,SSL的….好…..没有那么多。 昨天花了整整一天跑完证书错误,我90%肯定我有服务器正常工作。 curl似乎是这样想的,香草节点请求对象也如此。 我认为superagent可能是在引擎盖下创build一个请求 – 我只需要知道如何通过在CA为它。 提前致谢。

使用Superagent服务器端获取连接ECONNREFUSED错误

我正在构build一个同构的React应用程序。 我正在使用Webpack捆绑我的JS。 我正在使用react-router进行路由。 当我点击“/search”路线时,要呈现的组件调用一个API(目前只是一个testingJSON文件)。 在客户端,superagent调用工作正常,并在渲染此路由时拉入数据。 当我尝试从服务器端渲染相同的路由时,出现此错误: Potentially unhandled rejection [2] Error: connect ECONNREFUSED at errnoException (net.js:901:11) at Object.afterConnect [as oncomplete] (net.js:892:19) 任何想法为什么发生这种情况? 这是执行呼叫的代码: var request = require('superagent'); var Promise = require('Promise'); module.exports = { doCall: function(url, params) { return new Promise(function(resolve, reject) { request .get(url) .end(function(err, res) { if(res) { resolve(res); } else { reject(err); […]

pipe道可读stream使用superagent

我正在尝试创build一个multer中间件,通过superagent将stream媒体文件从客户端传送到第三方。 const superagent = require('superagent'); const multer = require('multer'); // my middleware function streamstorage(){ function StreamStorage(){} StreamStorage.prototype._handleFile = function(req, file, cb){ console.log(file.stream) // <– is readable stream const post = superagent.post('www.some-other-host.com'); file.stream.pipe(file.stream); // need to call cb(null, {some: data}); but how // do i get/handle the response from this post request? } return new StreamStorage() […]