我是新的nodejs,目前我正在使用rest-client从代理服务获取数据。最初通过使用休眠客户端的POST方法,我能够登录我的代理,我得到了成功的响应。
登录后立即我调用'get'(代理/用户/我)方法来获取会话数据,然后我面临登录失败消息,我怎样才能在每次使用nodejs获取任何其他数据之前进行检查。 / p>
//Example POST method invocation for Login
//after Login get method invocation
var Client = require('node-rest-client').Client;
var client = new Client();
var fs = require('fs');
var email = "raj@ioynx.io";
var proxy = "http://google.com";
var password = "abcd";
// set content-type header and data as json in args parameter
var args = {
data: JSON.stringify({ username: email, password: password }),
headers: { "Content-Type": "application/json" }
};
client.post(proxy+"login", args, function (data, response) {
//Sucessfully Login message Dis[play with status Code 200
console.log(response.statusCode);
if (parseInt(response.statusCode) === 200) {
//after success I am trying to fetch session Data, 'get' mehode will always shows ,there is no login.
client.get(proxy+"user/me", function (sessionData, sessionResponse) {
//The second URL for fetching session data always shows { message: "not Login message" }
console.log(sessionData, 'Dubt', sessionResponse.statusCode);
});
}
});
答案 0 :(得分:0)
您需要使用某种身份验证检查程序包装每个方法。像这样的东西 -
function wrapAuthentication(fn) {
return function() {
// Check authentication
if(authenticated) {
fn.apply(fn, arguments);
}
}
}
function updateUserData() {
// Do stuff
}
client.post(proxy+"login", args, wrapAuthentication(updateUserData));
你休息框架可能已经支持这样的事情。