set status codes on some failed api responses
This commit is contained in:
parent
cb3f43c7ca
commit
a216178ee0
|
@ -43,6 +43,7 @@ module.exports.create = function (deps, conf) {
|
||||||
function isAuthorized(req, res, fn) {
|
function isAuthorized(req, res, fn) {
|
||||||
var auth = jwt.decode((req.headers.authorization||'').replace(/^bearer\s+/i, ''));
|
var auth = jwt.decode((req.headers.authorization||'').replace(/^bearer\s+/i, ''));
|
||||||
if (!auth) {
|
if (!auth) {
|
||||||
|
res.statusCode = 401;
|
||||||
res.setHeader('Content-Type', 'application/json;');
|
res.setHeader('Content-Type', 'application/json;');
|
||||||
res.end(JSON.stringify({ error: { message: "no token", code: 'E_NO_TOKEN', uri: undefined } }));
|
res.end(JSON.stringify({ error: { message: "no token", code: 'E_NO_TOKEN', uri: undefined } }));
|
||||||
return;
|
return;
|
||||||
|
@ -51,6 +52,7 @@ module.exports.create = function (deps, conf) {
|
||||||
var id = crypto.createHash('sha256').update(auth.sub).digest('hex');
|
var id = crypto.createHash('sha256').update(auth.sub).digest('hex');
|
||||||
return deps.storage.owners.exists(id).then(function (exists) {
|
return deps.storage.owners.exists(id).then(function (exists) {
|
||||||
if (!exists) {
|
if (!exists) {
|
||||||
|
res.statusCode = 401;
|
||||||
res.setHeader('Content-Type', 'application/json;');
|
res.setHeader('Content-Type', 'application/json;');
|
||||||
res.end(JSON.stringify({ error: { message: "not authorized", code: 'E_NO_AUTHZ', uri: undefined } }));
|
res.end(JSON.stringify({ error: { message: "not authorized", code: 'E_NO_AUTHZ', uri: undefined } }));
|
||||||
return;
|
return;
|
||||||
|
@ -113,6 +115,7 @@ module.exports.create = function (deps, conf) {
|
||||||
err = new Error(
|
err = new Error(
|
||||||
"When creating an owner the Authorization Bearer and Token and Refresh must all match"
|
"When creating an owner the Authorization Bearer and Token and Refresh must all match"
|
||||||
);
|
);
|
||||||
|
err.statusCode = 400;
|
||||||
return deps.PromiseA.reject(err);
|
return deps.PromiseA.reject(err);
|
||||||
}
|
}
|
||||||
console.log('no owner, creating');
|
console.log('no owner, creating');
|
||||||
|
@ -125,6 +128,7 @@ module.exports.create = function (deps, conf) {
|
||||||
return scmp(id, token.id);
|
return scmp(id, token.id);
|
||||||
})) {
|
})) {
|
||||||
err = new Error("Authorization token does not belong to an existing owner.");
|
err = new Error("Authorization token does not belong to an existing owner.");
|
||||||
|
err.statusCode = 401;
|
||||||
return deps.PromiseA.reject(err);
|
return deps.PromiseA.reject(err);
|
||||||
}
|
}
|
||||||
console.log('has correct owner');
|
console.log('has correct owner');
|
||||||
|
@ -143,6 +147,7 @@ module.exports.create = function (deps, conf) {
|
||||||
})
|
})
|
||||||
.catch(function (err) {
|
.catch(function (err) {
|
||||||
res.setHeader('Content-Type', 'application/json;');
|
res.setHeader('Content-Type', 'application/json;');
|
||||||
|
res.statusCode = err.statusCode || 500;
|
||||||
res.end(JSON.stringify({ error: { message: err.message, code: err.code, uri: err.uri } }));
|
res.end(JSON.stringify({ error: { message: err.message, code: err.code, uri: err.uri } }));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -158,22 +163,19 @@ module.exports.create = function (deps, conf) {
|
||||||
return deps.tunneler.get(req.userId).then(function (result) {
|
return deps.tunneler.get(req.userId).then(function (result) {
|
||||||
res.end(JSON.stringify(result));
|
res.end(JSON.stringify(result));
|
||||||
}, function (err) {
|
}, function (err) {
|
||||||
|
res.statusCode = 500;
|
||||||
res.end(JSON.stringify({ error: { message: err.message, code: err.code, uri: err.uri } }));
|
res.end(JSON.stringify({ error: { message: err.message, code: err.code, uri: err.uri } }));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
jsonParser(req, res, function () {
|
return deps.storage.owners.get(req.userId).then(function (session) {
|
||||||
|
return api.tunnel(deps, session).then(function () {
|
||||||
console.log('req.body', req.body);
|
res.setHeader('Content-Type', 'application/json;');
|
||||||
|
res.end(JSON.stringify({ success: true }));
|
||||||
return deps.storage.owners.get(req.userId).then(function (session) {
|
}, function (err) {
|
||||||
return api.tunnel(deps, session).then(function () {
|
res.setHeader('Content-Type', 'application/json;');
|
||||||
res.setHeader('Content-Type', 'application/json;');
|
res.statusCode = 500;
|
||||||
res.end(JSON.stringify({ success: true }));
|
res.end(JSON.stringify({ error: { message: err.message, code: err.code, uri: err.uri } }));
|
||||||
}, function (err) {
|
|
||||||
res.setHeader('Content-Type', 'application/json;');
|
|
||||||
res.end(JSON.stringify({ error: { message: err.message, code: err.code, uri: err.uri } }));
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue