feat: add request headers to trigger functions (#4012)
* add request headers to trigger functions * reverse changes * add headers in request config and trigger request
This commit is contained in:
committed by
Florent Vilmart
parent
e6cc8204b3
commit
3c79cae1b2
@@ -1200,6 +1200,61 @@ describe('Cloud Code', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('beforeSave hooks', () => {
|
||||||
|
it('should have request headers', (done) => {
|
||||||
|
Parse.Cloud.beforeSave('MyObject', (req, res) => {
|
||||||
|
expect(req.headers).toBeDefined();
|
||||||
|
res.success();
|
||||||
|
});
|
||||||
|
|
||||||
|
const MyObject = Parse.Object.extend('MyObject');
|
||||||
|
const myObject = new MyObject();
|
||||||
|
myObject.save().then(() => done());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('afterSave hooks', () => {
|
||||||
|
it('should have request headers', (done) => {
|
||||||
|
Parse.Cloud.afterSave('MyObject', (req) => {
|
||||||
|
expect(req.headers).toBeDefined();
|
||||||
|
});
|
||||||
|
|
||||||
|
const MyObject = Parse.Object.extend('MyObject');
|
||||||
|
const myObject = new MyObject();
|
||||||
|
myObject.save()
|
||||||
|
.then(() => done());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('beforeDelete hooks', () => {
|
||||||
|
it('should have request headers', (done) => {
|
||||||
|
Parse.Cloud.beforeDelete('MyObject', (req, res) => {
|
||||||
|
expect(req.headers).toBeDefined();
|
||||||
|
res.success();
|
||||||
|
});
|
||||||
|
|
||||||
|
const MyObject = Parse.Object.extend('MyObject');
|
||||||
|
const myObject = new MyObject();
|
||||||
|
myObject.save()
|
||||||
|
.then(myObj => myObj.destroy())
|
||||||
|
.then(() => done());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('afterDelete hooks', () => {
|
||||||
|
it('should have request headers', (done) => {
|
||||||
|
Parse.Cloud.afterDelete('MyObject', (req) => {
|
||||||
|
expect(req.headers).toBeDefined();
|
||||||
|
});
|
||||||
|
|
||||||
|
const MyObject = Parse.Object.extend('MyObject');
|
||||||
|
const myObject = new MyObject();
|
||||||
|
myObject.save()
|
||||||
|
.then(myObj => myObj.destroy())
|
||||||
|
.then(() => done());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('beforeFind hooks', () => {
|
describe('beforeFind hooks', () => {
|
||||||
it('should add beforeFind trigger', (done) => {
|
it('should add beforeFind trigger', (done) => {
|
||||||
Parse.Cloud.beforeFind('MyObject', (req) => {
|
Parse.Cloud.beforeFind('MyObject', (req) => {
|
||||||
@@ -1334,6 +1389,26 @@ describe('beforeFind hooks', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should have request headers', (done) => {
|
||||||
|
Parse.Cloud.beforeFind('MyObject', (req) => {
|
||||||
|
expect(req.headers).toBeDefined();
|
||||||
|
});
|
||||||
|
|
||||||
|
const MyObject = Parse.Object.extend('MyObject');
|
||||||
|
const myObject = new MyObject();
|
||||||
|
myObject.save()
|
||||||
|
.then((myObj) => {
|
||||||
|
const query = new Parse.Query('MyObject');
|
||||||
|
query.equalTo('objectId', myObj.id);
|
||||||
|
return Promise.all([
|
||||||
|
query.get(myObj.id),
|
||||||
|
query.first(),
|
||||||
|
query.find(),
|
||||||
|
]);
|
||||||
|
})
|
||||||
|
.then(() => done());
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('afterFind hooks', () => {
|
describe('afterFind hooks', () => {
|
||||||
@@ -1531,4 +1606,25 @@ describe('afterFind hooks', () => {
|
|||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should have request headers', (done) => {
|
||||||
|
Parse.Cloud.afterFind('MyObject', (req, res) => {
|
||||||
|
expect(req.headers).toBeDefined();
|
||||||
|
res.success();
|
||||||
|
});
|
||||||
|
|
||||||
|
const MyObject = Parse.Object.extend('MyObject');
|
||||||
|
const myObject = new MyObject();
|
||||||
|
myObject.save()
|
||||||
|
.then((myObj) => {
|
||||||
|
const query = new Parse.Query('MyObject');
|
||||||
|
query.equalTo('objectId', myObj.id);
|
||||||
|
return Promise.all([
|
||||||
|
query.get(myObj.id),
|
||||||
|
query.first(),
|
||||||
|
query.find(),
|
||||||
|
]);
|
||||||
|
})
|
||||||
|
.then(() => done());
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ export function handleParseHeaders(req, res, next) {
|
|||||||
|
|
||||||
info.app = AppCache.get(info.appId);
|
info.app = AppCache.get(info.appId);
|
||||||
req.config = new Config(info.appId, mount);
|
req.config = new Config(info.appId, mount);
|
||||||
|
req.config.headers = req.headers || {};
|
||||||
req.info = info;
|
req.info = info;
|
||||||
|
|
||||||
var isMaster = (info.masterKey === req.config.masterKey);
|
var isMaster = (info.masterKey === req.config.masterKey);
|
||||||
|
|||||||
@@ -133,7 +133,8 @@ export function getRequestObject(triggerType, auth, parseObject, originalParseOb
|
|||||||
triggerName: triggerType,
|
triggerName: triggerType,
|
||||||
object: parseObject,
|
object: parseObject,
|
||||||
master: false,
|
master: false,
|
||||||
log: config.loggerController
|
log: config.loggerController,
|
||||||
|
headers: config.headers,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (originalParseObject) {
|
if (originalParseObject) {
|
||||||
@@ -164,7 +165,8 @@ export function getRequestQueryObject(triggerType, auth, query, count, config, i
|
|||||||
master: false,
|
master: false,
|
||||||
count,
|
count,
|
||||||
log: config.loggerController,
|
log: config.loggerController,
|
||||||
isGet
|
isGet,
|
||||||
|
headers: config.headers,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!auth) {
|
if (!auth) {
|
||||||
|
|||||||
Reference in New Issue
Block a user