@@ -13,15 +13,17 @@ const logger_1 = require("../logger/logger");
13
13
const package_json_1 = __importDefault ( require ( "../../package.json" ) ) ;
14
14
const logger = ( 0 , logger_1 . getLogger ) ( ) ;
15
15
const maesterClientVersion = package_json_1 . default . dependencies [ '@elastic.io/maester-client' ] ;
16
+ const axiosVersion = package_json_1 . default . dependencies . axios ;
16
17
exports . STORAGE_TYPE_PARAMETER = 'storage_type' ;
17
18
exports . DEFAULT_STORAGE_TYPE = 'steward' ;
18
19
exports . MAESTER_OBJECT_ID_ENDPOINT = '/objects/' ;
19
20
const { ELASTICIO_OBJECT_STORAGE_TOKEN = '' , ELASTICIO_OBJECT_STORAGE_URI = '' } = process . env ;
20
21
const maesterCreds = { jwtSecret : ELASTICIO_OBJECT_STORAGE_TOKEN , uri : ELASTICIO_OBJECT_STORAGE_URI } ;
21
22
const DEFAULT_ATTACHMENT_REQUEST_TIMEOUT = process . env . REQUEST_TIMEOUT ? parseInt ( process . env . REQUEST_TIMEOUT , 10 ) : interfaces_1 . REQUEST_TIMEOUT . maxValue ; // 20s
22
23
class AttachmentProcessor {
23
- constructor ( userAgent ) {
24
- this . userAgent = `${ userAgent } maester-client/${ maesterClientVersion } ` ;
24
+ constructor ( userAgent , msgId ) {
25
+ this . userAgent = userAgent ;
26
+ this . msgId = msgId ;
25
27
}
26
28
async getAttachment ( url , responseType ) {
27
29
const storageType = this . getStorageTypeByUrl ( url ) ;
@@ -31,7 +33,6 @@ class AttachmentProcessor {
31
33
method : 'get' ,
32
34
timeout : DEFAULT_ATTACHMENT_REQUEST_TIMEOUT ,
33
35
retry : interfaces_1 . RETRIES_COUNT . defaultValue ,
34
- headers : { 'User-Agent' : this . userAgent }
35
36
} ;
36
37
switch ( storageType ) {
37
38
case 'steward' : return this . getStewardAttachment ( axConfig ) ;
@@ -58,10 +59,18 @@ class AttachmentProcessor {
58
59
async getStewardAttachment ( axConfig ) {
59
60
const ax = axios_1 . default . create ( ) ;
60
61
this . addRetryCountInterceptorToAxios ( ax ) ;
61
- return ax ( axConfig ) ;
62
+ const userAgent = `${ this . userAgent } axios/${ axiosVersion } ` ;
63
+ return ax ( {
64
+ ...axConfig ,
65
+ headers : {
66
+ 'User-Agent' : userAgent ,
67
+ 'x-request-id' : `f:${ process . env . ELASTICIO_FLOW_ID } ;s:${ process . env . ELASTICIO_STEP_ID } ;m:${ this . msgId } ` ,
68
+ }
69
+ } ) ;
62
70
}
63
71
async getMaesterAttachment ( { url, responseType } ) {
64
- const objectStorage = new maester_client_1 . ObjectStorage ( { ...maesterCreds , userAgent : this . userAgent } ) ;
72
+ const userAgent = `${ this . userAgent } maester-client/${ maesterClientVersion } ` ;
73
+ const objectStorage = new maester_client_1 . ObjectStorage ( { ...maesterCreds , userAgent, msgId : this . msgId } ) ;
65
74
const maesterAttachmentId = this . getMaesterAttachmentIdByUrl ( url ) ;
66
75
const response = await objectStorage . getOne ( maesterAttachmentId , { responseType } ) ;
67
76
return { data : response } ;
0 commit comments