@venncity/clou-utils
Advanced tools
Comparing version 1.1.0 to 1.2.0
@@ -6,2 +6,13 @@ # Change Log | ||
# [1.2.0](https://github.com/venn-city/graphql-clou/compare/@venncity/clou-utils@1.1.0...@venncity/clou-utils@1.2.0) (2019-11-18) | ||
### Features | ||
* **clou-utils:** read some more fields request ([8d56665](https://github.com/venn-city/graphql-clou/commit/8d56665ac494b2f9d6fd31907ddf2ec88bc8fbc6)) | ||
# 1.1.0 (2019-11-08) | ||
@@ -8,0 +19,0 @@ |
{ | ||
"name": "@venncity/clou-utils", | ||
"version": "1.1.0", | ||
"version": "1.2.0", | ||
"author": "Venn Engineering", | ||
@@ -45,3 +45,3 @@ "main": "src/index.js", | ||
}, | ||
"gitHead": "37f11a9a68c526161e7109ef412e258e1ea7d421" | ||
"gitHead": "94675ba561434c6f62f42847000e438c3d3cc4db" | ||
} |
@@ -64,6 +64,14 @@ const utils = require('./generalUtils'); | ||
impersonated: 'false' | ||
}, | ||
body: { | ||
query: 'query blah blah blah', | ||
variables: { | ||
hail: 'satan' | ||
} | ||
} | ||
}; | ||
const result = utils.getAdditionalInfoFromHeaders(test); | ||
const result = utils.getAdditionalInfoFromRequest(test); | ||
expect(result).toEqual({ | ||
graphqlQuery: 'query blah blah blah', | ||
graphqlVariables: JSON.stringify(test.body.variables), | ||
xrayTraceId: null, | ||
@@ -76,2 +84,15 @@ serviceName: 'serviceName', | ||
}); | ||
test('extracting request headers doesnt crash when headers are falsy', () => { | ||
const test = {}; | ||
const result = utils.getAdditionalInfoFromRequest(test); | ||
expect(result).toEqual({ | ||
graphqlQuery: null, | ||
graphqlVariables: null, | ||
xrayTraceId: null, | ||
serviceName: null, | ||
functionName: null, | ||
onBehalfOfUser: null, | ||
impersonated: null | ||
}); | ||
}); | ||
}); |
const crypto = require('crypto'); | ||
const { isEmpty, isArray, every, isUndefined } = require('lodash'); | ||
const { isEmpty, isArray, every, isUndefined, get } = require('lodash'); | ||
const config = require('@venncity/nested-config')(__dirname); | ||
@@ -59,10 +59,13 @@ | ||
function getAdditionalInfoFromHeaders(req) { | ||
const xrayTraceId = req.headers.xrayTraceId || req.headers.xraytraceid || null; | ||
const serviceName = req.headers.serviceName || req.headers.servicename || null; | ||
const functionName = req.headers.functionName || req.headers.functionname || null; | ||
const onBehalfOfUser = req.headers.onBehalfOfUser || req.headers.onbehalfofuser || null; | ||
const impersonated = req.headers.impersonated || null; | ||
function getAdditionalInfoFromRequest(req) { | ||
const xrayTraceId = get(req, 'headers.xrayTraceId') || get(req, 'headers.xraytraceid') || null; | ||
const serviceName = get(req, 'headers.serviceName') || get(req, 'headers.servicename') || null; | ||
const functionName = get(req, 'headers.functionName') || get(req, 'headers.functionname') || null; | ||
const onBehalfOfUser = get(req, 'headers.onBehalfOfUser') || get(req, 'headers.onbehalfofuser') || null; | ||
const impersonated = get(req, 'headers.impersonated') || null; | ||
const graphqlQuery = get(req, 'body.query') || null; | ||
let graphqlVariables = get(req, 'body.variables'); | ||
graphqlVariables = isEmpty(graphqlVariables) ? null : JSON.stringify(graphqlVariables); | ||
return { xrayTraceId, serviceName, functionName, onBehalfOfUser, impersonated }; | ||
return { xrayTraceId, serviceName, functionName, onBehalfOfUser, impersonated, graphqlQuery, graphqlVariables }; | ||
} | ||
@@ -90,5 +93,5 @@ | ||
decrypt, | ||
getAdditionalInfoFromHeaders, | ||
getAdditionalInfoFromRequest, | ||
extractWhereFromFederationReference, | ||
isEmptyArray | ||
}; |
12443
296