Skip to content

Commit

Permalink
feat: Allow custom UA for mods depending on req-man
Browse files Browse the repository at this point in the history
  • Loading branch information
aarlaud committed Jul 20, 2020
1 parent 7c66192 commit 4def2f5
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 4 deletions.
4 changes: 2 additions & 2 deletions src/lib/request/request.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const getTopParentModuleName = (parent: NodeModule | null): string => {
}
}

const makeSnykRequest = async (request: snykRequest, snykToken: string = '') => {
const makeSnykRequest = async (request: snykRequest, snykToken: string = '', userAgentPrefix:string = '') => {
const userConfig = getConfig()
const token = snykToken == '' ? userConfig.token : snykToken

Expand All @@ -30,7 +30,7 @@ const makeSnykRequest = async (request: snykRequest, snykToken: string = '') =>
const requestHeaders: Object = {
'Content-Type': 'application/json',
'Authorization': 'token '+ token,
'User-Agent': `${topParentModuleName}tech-services/snyk-request-manager/1.0`
'User-Agent': `${topParentModuleName}${userAgentPrefix}tech-services/snyk-request-manager/1.0`
}

const apiClient = axios.create({
Expand Down
7 changes: 5 additions & 2 deletions src/lib/request/requestManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ interface requestsManagerParams {
snykToken?: string,
burstSize?: number,
period?: number,
maxRetryCount?: number
maxRetryCount?: number,
userAgentPrefix?: string
}

class requestsManager {
Expand All @@ -37,6 +38,7 @@ class requestsManager {
_retryCounter: Map<string,number>
_MAX_RETRY_COUNT: number
_snykToken: string
_userAgentPrefix: string

//snykToken = '', burstSize = 10, period = 500, maxRetryCount = 5
constructor(params: requestsManagerParams = {}) {
Expand All @@ -46,6 +48,7 @@ class requestsManager {
this._retryCounter = new Map()
this._MAX_RETRY_COUNT = params?.maxRetryCount || 5
this._snykToken = params?.snykToken || ''
this._userAgentPrefix = params?.userAgentPrefix || ''
}

_setupQueueExecutors = (queue: LeakyBucketQueue<queuedRequest>) => {
Expand All @@ -61,7 +64,7 @@ class requestsManager {
_makeRequest = async (request: queuedRequest) => {
let requestId = request.id
try {
let response = await makeSnykRequest(request.snykRequest, this._snykToken)
let response = await makeSnykRequest(request.snykRequest, this._snykToken, this._userAgentPrefix)
this._emit({eventType: eventType.data, channel: request.channel, requestId: requestId, data: response })
} catch (err) {
let overloadedError = requestsManagerError.requestsManagerErrorOverload(err, request.channel, requestId)
Expand Down

0 comments on commit 4def2f5

Please sign in to comment.