@netacea/akamai 5.0.83 → 5.0.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/package.json +3 -3
  3. package/dist/src/Akamai.js +4 -2
  4. package/dist/src/Akamai.js.map +1 -1
  5. package/dist/src/NetaceaRequestDetails.d.ts +17 -0
  6. package/dist/src/NetaceaRequestDetails.js +25 -0
  7. package/dist/src/NetaceaRequestDetails.js.map +1 -0
  8. package/dist/src/helpers/getBestActionFromMitigationAPI.d.ts +2 -1
  9. package/dist/src/helpers/getBestActionFromMitigationAPI.js +7 -7
  10. package/dist/src/helpers/getBestActionFromMitigationAPI.js.map +1 -1
  11. package/dist/src/helpers/handleMitResult.d.ts +2 -1
  12. package/dist/src/helpers/handleMitResult.js +2 -2
  13. package/dist/src/helpers/handleMitResult.js.map +1 -1
  14. package/dist/src/helpers/inject.d.ts +2 -1
  15. package/dist/src/helpers/inject.js +5 -3
  16. package/dist/src/helpers/inject.js.map +1 -1
  17. package/dist/src/helpers/logToDataStream.d.ts +2 -1
  18. package/dist/src/helpers/logToDataStream.js +6 -12
  19. package/dist/src/helpers/logToDataStream.js.map +1 -1
  20. package/dist/src/helpers/mitigate.d.ts +2 -1
  21. package/dist/src/helpers/mitigate.js +5 -3
  22. package/dist/src/helpers/mitigate.js.map +1 -1
  23. package/dist/src/helpers/runMitigation.d.ts +2 -1
  24. package/dist/src/helpers/runMitigation.js +4 -4
  25. package/dist/src/helpers/runMitigation.js.map +1 -1
  26. package/dist/src/mitigation/makeMitigateApiCall.d.ts +2 -1
  27. package/dist/src/mitigation/makeMitigateApiCall.js +7 -7
  28. package/dist/src/mitigation/makeMitigateApiCall.js.map +1 -1
  29. package/package.json +3 -3
  30. package/dist/src/helpers/getMitigationResponse.d.ts +0 -4
  31. package/dist/src/helpers/getMitigationResponse.js +0 -14
  32. package/dist/src/helpers/getMitigationResponse.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 5.0.85 (2024-02-16)
7
+
8
+ **Note:** Version bump only for package @netacea/akamai
9
+
10
+
11
+
12
+
13
+
14
+ ## 5.0.84 (2024-02-16)
15
+
16
+ **Note:** Version bump only for package @netacea/akamai
17
+
18
+
19
+
20
+
21
+
6
22
  ## 5.0.83 (2024-02-12)
7
23
 
8
24
  **Note:** Version bump only for package @netacea/akamai
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netacea/akamai",
3
- "version": "5.0.83",
3
+ "version": "5.0.85",
4
4
  "description": "Netacea Akamai CDN Integration",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "license": "ISC",
22
22
  "dependencies": {
23
- "@netacea/netaceaintegrationbase": "^1.16.89",
23
+ "@netacea/netaceaintegrationbase": "^1.16.91",
24
24
  "buffer": "^6.0.3",
25
25
  "jssha": "^3.3.0"
26
26
  },
@@ -67,5 +67,5 @@
67
67
  "tslib": "^2.0.3",
68
68
  "typescript": "^4.0.3"
69
69
  },
70
- "gitHead": "46a0ac398cf40694cc00b8407f06a1991966c9bd"
70
+ "gitHead": "57f80ea5755e2d9c40f5d20ce0ea3243ad062dd0"
71
71
  }
@@ -13,6 +13,7 @@ import { removeNetaceaHeaders } from './helpers/removeNetaceaHeaders';
13
13
  import { routeRequestToNetaceaProxy } from './helpers/routeRequestToNetaceaProxy';
14
14
  import { handleMitResult } from './helpers/handleMitResult';
15
15
  import { getHeaderValueOrDefault } from './helpers/getHeaderValueOrDefault';
16
+ import { getNetaceaRequestDetails } from './NetaceaRequestDetails';
16
17
  export default class Akamai {
17
18
  constructor(defaultConfig) {
18
19
  this.configLoader = new ConfigLoader(defaultConfig);
@@ -29,6 +30,7 @@ export default class Akamai {
29
30
  encryptionKey: config.cookieEncryptionKey
30
31
  });
31
32
  }
33
+ const netaceaRequestDetails = await getNetaceaRequestDetails(this.defaultDeps, config, request);
32
34
  if (isUrlCaptchaGet(request.path, request.method, config.netaceaCaptchaPath)) {
33
35
  await handleCaptchaGet(this.defaultDeps, config, request);
34
36
  }
@@ -39,9 +41,9 @@ export default class Akamai {
39
41
  routeRequestToNetaceaProxy(request);
40
42
  }
41
43
  else {
42
- await handleMitResult(this.defaultDeps, config, request);
44
+ await handleMitResult(this.defaultDeps, config, request, netaceaRequestDetails);
43
45
  }
44
- await logToDataStream(this.defaultDeps, config, request);
46
+ await logToDataStream(this.defaultDeps, config, request, netaceaRequestDetails.netaceaSession);
45
47
  }
46
48
  async responseHandler(request, response) {
47
49
  const config = this.configLoader.loadConfig(request);
@@ -1 +1 @@
1
- {"version":3,"file":"Akamai.js","sourceRoot":"","sources":["../../src/Akamai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Akamai.js","sourceRoot":"","sources":["../../src/Akamai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /// <reference types="akamai-edgeworkers" />
2
+ import { CheckCookieResponse } from '@netacea/netaceaintegrationbase';
3
+ import { AkamaiRuntimeDependencies, AkamaiWorkerConfig } from './types';
4
+ export interface NetaceaSessionDetails {
5
+ userId: string | undefined;
6
+ captchaToken: string | undefined;
7
+ match: number;
8
+ mitigate: number;
9
+ captcha: number;
10
+ }
11
+ export interface NetaceaRequestDetails {
12
+ clientIp: string;
13
+ userAgent: string;
14
+ netaceaSession: NetaceaSessionDetails;
15
+ netaceaCookieInfo: CheckCookieResponse;
16
+ }
17
+ export declare function getNetaceaRequestDetails(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest): Promise<NetaceaRequestDetails>;
@@ -0,0 +1,25 @@
1
+ import { getHeaderValueOrDefault } from './helpers/getHeaderValueOrDefault';
2
+ import { getVariableOrDefault } from './helpers/getVariable';
3
+ import { readCookie } from './helpers/readCookie';
4
+ import { retrieveCookieInfo } from './helpers/retrieveCookieInfo';
5
+ export async function getNetaceaRequestDetails(deps, config, request) {
6
+ const clientIp = getVariableOrDefault(request, 'PMUSER_CLIENT_IP');
7
+ const userAgent = getHeaderValueOrDefault(request, 'user-agent');
8
+ const cookies = getHeaderValueOrDefault(request, 'cookie');
9
+ const netaceaCookie = await readCookie(deps, config, cookies, config.netaceaCookieName);
10
+ const netaceaSessionCookieInfo = await retrieveCookieInfo(netaceaCookie, clientIp, config.secretKey);
11
+ const mitataCaptcha = await readCookie(deps, config, cookies, config.netaceaCaptchaCookieName);
12
+ return {
13
+ clientIp,
14
+ userAgent,
15
+ netaceaCookieInfo: netaceaSessionCookieInfo,
16
+ netaceaSession: {
17
+ userId: netaceaSessionCookieInfo.mitata?.userId,
18
+ captchaToken: mitataCaptcha,
19
+ match: netaceaSessionCookieInfo.match,
20
+ mitigate: netaceaSessionCookieInfo.mitigate,
21
+ captcha: netaceaSessionCookieInfo.captcha
22
+ }
23
+ };
24
+ }
25
+ //# sourceMappingURL=NetaceaRequestDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetaceaRequestDetails.js","sourceRoot":"","sources":["../../src/NetaceaRequestDetails.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAkBjE,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAA+B,EAC/B,MAAoC,EACpC,OAAgC;IAEhC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAE1D,MAAM,aAAa,GAAG,MAAM,UAAU,CACpC,IAAI,EACJ,MAAM,EACN,OAAO,EACP,MAAM,CAAC,iBAA2B,CACnC,CAAA;IAED,MAAM,wBAAwB,GAAG,MAAM,kBAAkB,CACvD,aAAa,EACb,QAAQ,EACR,MAAM,CAAC,SAAS,CACjB,CAAA;IAED,MAAM,aAAa,GAAG,MAAM,UAAU,CACpC,IAAI,EACJ,MAAM,EACN,OAAO,EACP,MAAM,CAAC,wBAAkC,CAC1C,CAAA;IAED,OAAO;QACL,QAAQ;QACR,SAAS;QACT,iBAAiB,EAAE,wBAAwB;QAC3C,cAAc,EAAE;YACd,MAAM,EAAE,wBAAwB,CAAC,MAAM,EAAE,MAAM;YAC/C,YAAY,EAAE,aAAa;YAC3B,KAAK,EAAE,wBAAwB,CAAC,KAAK;YACrC,QAAQ,EAAE,wBAAwB,CAAC,QAAQ;YAC3C,OAAO,EAAE,wBAAwB,CAAC,OAAO;SAC1C;KACF,CAAA;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { FindBestMitigationResponse } from '@netacea/netaceaintegrationbase';
2
2
  import type { AkamaiRuntimeDependencies, AkamaiWorkerConfig } from '../types';
3
+ import { NetaceaRequestDetails } from '../NetaceaRequestDetails';
3
4
  export interface BestActionResponse {
4
5
  body?: string;
5
6
  apiCallStatus: number;
@@ -10,4 +11,4 @@ export interface BestActionResponse {
10
11
  bestMitigation: FindBestMitigationResponse;
11
12
  eventId: string | undefined;
12
13
  }
13
- export declare function getBestActionFromMitigationAPI(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, netaceaCookie: string | undefined, clientIP: string, userAgent: string, accept: string, host: string, captchaCookie?: string): Promise<BestActionResponse>;
14
+ export declare function getBestActionFromMitigationAPI(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, netaceaRequestDetails: NetaceaRequestDetails, accept: string, host: string): Promise<BestActionResponse>;
@@ -1,4 +1,3 @@
1
- import { retrieveCookieInfo } from './retrieveCookieInfo';
2
1
  import { createProtoMitata } from './createProtoMitata';
3
2
  import { makeMitigateApiCall } from '../mitigation/makeMitigateApiCall';
4
3
  import { findBestMitigation } from './findBestMitigation';
@@ -19,16 +18,17 @@ function getDefaultIntegrationResponse(cookieInfo) {
19
18
  setCookie: []
20
19
  };
21
20
  }
22
- export async function getBestActionFromMitigationAPI(deps, config, netaceaCookie, clientIP, userAgent, accept, host, captchaCookie) {
23
- const cookieInfo = await retrieveCookieInfo(netaceaCookie, clientIP, config.secretKey);
24
- let integrationResponse = getDefaultIntegrationResponse(cookieInfo);
21
+ export async function getBestActionFromMitigationAPI(deps, config, netaceaRequestDetails, accept, host) {
22
+ let integrationResponse = getDefaultIntegrationResponse(netaceaRequestDetails.netaceaCookieInfo);
25
23
  if (config.secretKey === undefined) {
26
24
  throw new Error('Secret key is required to mitigate');
27
25
  }
28
- if (!cookieInfo.isPrimaryHashValid || cookieInfo.requiresReissue) {
29
- integrationResponse = await makeMitigateApiCall(deps, config, cookieInfo.mitata?.userId, clientIP, userAgent, captchaCookie, accept, host);
26
+ const shouldCallProtectorApi = (!netaceaRequestDetails.netaceaCookieInfo.isPrimaryHashValid ||
27
+ netaceaRequestDetails.netaceaCookieInfo.requiresReissue);
28
+ if (shouldCallProtectorApi) {
29
+ integrationResponse = await makeMitigateApiCall(deps, config, netaceaRequestDetails, accept, host);
30
30
  integrationResponse.setCookie = [
31
- await createProtoMitata(clientIP, cookieInfo.mitata?.userId, integrationResponse.match, integrationResponse.mitigate, integrationResponse.captcha, integrationResponse.mitataMaxAge)
31
+ await createProtoMitata(netaceaRequestDetails.clientIp, netaceaRequestDetails.netaceaSession.userId, integrationResponse.match, integrationResponse.mitigate, integrationResponse.captcha, integrationResponse.mitataMaxAge)
32
32
  ];
33
33
  }
34
34
  const bestMitigation = findBestMitigation(config, integrationResponse.match, integrationResponse.mitigate, integrationResponse.captcha, false);
@@ -1 +1 @@
1
- {"version":3,"file":"getBestActionFromMitigationAPI.js","sourceRoot":"","sources":["../../../src/helpers/getBestActionFromMitigationAPI.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAC5D,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAA;AAEtC,MAAM,yBAAyB,GAAG;IAChC,eAAe,CAAC,KAAK;IACrB,eAAe,CAAC,OAAO;IACvB,eAAe,CAAC,WAAW;CAC5B,CAAA;AAiCD,SAAS,6BAA6B,CAAE,UAA+B;IACrE,OAAO;QACL,MAAM,EAAE,CAAC,CAAC;QACV,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,EAAE;KACd,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,IAA+B,EAC/B,MAAoC,EACpC,aAAiC,EACjC,QAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,IAAY,EACZ,aAAsB;IAEtB,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;IAEtF,IAAI,mBAAmB,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAA;IAEnE,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IAED,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,UAAU,CAAC,eAAe,EAAE;QAEhE,mBAAmB,GAAG,MAAM,mBAAmB,CAC7C,IAAI,EACJ,MAAM,EACN,UAAU,CAAC,MAAM,EAAE,MAAM,EACzB,QAAQ,EACR,SAAS,EACT,aAAa,EACb,MAAM,EACN,IAAI,CACL,CAAA;QAED,mBAAmB,CAAC,SAAS,GAAG;YAC9B,MAAM,iBAAiB,CACrB,QAAQ,EACR,UAAU,CAAC,MAAM,EAAE,MAAM,EACzB,mBAAmB,CAAC,KAAK,EACzB,mBAAmB,CAAC,QAAQ,EAC5B,mBAAmB,CAAC,OAAO,EAC3B,mBAAmB,CAAC,YAAY,CACjC;SACF,CAAA;KACF;IAED,MAAM,cAAc,GAAG,kBAAkB,CACvC,MAAM,EACN,mBAAmB,CAAC,KAAK,EACzB,mBAAmB,CAAC,QAAQ,EAC5B,mBAAmB,CAAC,OAAO,EAC3B,KAAK,CACN,CAAA;IAED,MAAM,MAAM,GAAuB;QACjC,IAAI,EAAE,mBAAmB,CAAC,IAAI;QAC9B,aAAa,EAAE,mBAAmB,CAAC,MAAM;QACzC,SAAS,EAAE,mBAAmB,CAAC,SAAS;QACxC,aAAa,EAAE,cAAc,CAAC,aAAa;QAC3C,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,SAAS,EAAE,yBAAyB,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;QACxE,cAAc;QACd,OAAO,EAAE,mBAAmB,CAAC,OAAO;KACrC,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"getBestActionFromMitigationAPI.js","sourceRoot":"","sources":["../../../src/helpers/getBestActionFromMitigationAPI.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAE5D,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAA;AAEtC,MAAM,yBAAyB,GAAG;IAChC,eAAe,CAAC,KAAK;IACrB,eAAe,CAAC,OAAO;IACvB,eAAe,CAAC,WAAW;CAC5B,CAAA;AAiCD,SAAS,6BAA6B,CAAE,UAA+B;IACrE,OAAO;QACL,MAAM,EAAE,CAAC,CAAC;QACV,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,EAAE;KACd,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,IAA+B,EAC/B,MAAoC,EACpC,qBAA4C,EAC5C,MAAc,EACd,IAAY;IAEZ,IAAI,mBAAmB,GAAG,6BAA6B,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;IAEhG,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IAED,MAAM,sBAAsB,GAAG,CAC7B,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,kBAAkB;QAC3D,qBAAqB,CAAC,iBAAiB,CAAC,eAAe,CACxD,CAAA;IAED,IAAI,sBAAsB,EAAE;QAE1B,mBAAmB,GAAG,MAAM,mBAAmB,CAC7C,IAAI,EACJ,MAAM,EACN,qBAAqB,EACrB,MAAM,EACN,IAAI,CACL,CAAA;QAED,mBAAmB,CAAC,SAAS,GAAG;YAC9B,MAAM,iBAAiB,CACrB,qBAAqB,CAAC,QAAQ,EAC9B,qBAAqB,CAAC,cAAc,CAAC,MAAM,EAC3C,mBAAmB,CAAC,KAAK,EACzB,mBAAmB,CAAC,QAAQ,EAC5B,mBAAmB,CAAC,OAAO,EAC3B,mBAAmB,CAAC,YAAY,CACjC;SACF,CAAA;KACF;IAED,MAAM,cAAc,GAAG,kBAAkB,CACvC,MAAM,EACN,mBAAmB,CAAC,KAAK,EACzB,mBAAmB,CAAC,QAAQ,EAC5B,mBAAmB,CAAC,OAAO,EAC3B,KAAK,CACN,CAAA;IAED,MAAM,MAAM,GAAuB;QACjC,IAAI,EAAE,mBAAmB,CAAC,IAAI;QAC9B,aAAa,EAAE,mBAAmB,CAAC,MAAM;QACzC,SAAS,EAAE,mBAAmB,CAAC,SAAS;QACxC,aAAa,EAAE,cAAc,CAAC,aAAa;QAC3C,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,SAAS,EAAE,yBAAyB,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;QACxE,cAAc;QACd,OAAO,EAAE,mBAAmB,CAAC,OAAO;KACrC,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,3 +1,4 @@
1
1
  /// <reference types="akamai-edgeworkers" />
2
2
  import type { AkamaiRuntimeDependencies, AkamaiWorkerConfig } from '../types';
3
- export declare function handleMitResult(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest): Promise<void>;
3
+ import { NetaceaRequestDetails } from '../NetaceaRequestDetails';
4
+ export declare function handleMitResult(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest, netaceaRequestDetails: NetaceaRequestDetails): Promise<void>;
@@ -2,8 +2,8 @@ import { runMitigation } from './runMitigation';
2
2
  import { readCookie } from './readCookie';
3
3
  import { isCaptchaJsonResponse } from './captchaContentNegotiation';
4
4
  import { addHeadersToRequest } from './addHeadersToRequest';
5
- export async function handleMitResult(deps, config, request) {
6
- const mitResult = await runMitigation(deps, config, request);
5
+ export async function handleMitResult(deps, config, request, netaceaRequestDetails) {
6
+ const mitResult = await runMitigation(deps, config, request, netaceaRequestDetails);
7
7
  if (mitResult === undefined) {
8
8
  throw new Error('Mitigation Service response "mitResult" was undefined.');
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handleMitResult.js","sourceRoot":"","sources":["../../../src/helpers/handleMitResult.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAA+B,EAC/B,MAAoC,EACpC,OAAgC;IAEhC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5D,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;KAC1E;IACD,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAA;IAEvD,IAAI,gBAAgB,KAAK,OAAO,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAClE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAA;QAEhD,MAAM,OAAO,GAET,EAAE,CAAA;QACN,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;QAC5F,IAAI,eAAe,KAAK,SAAS,EAAE;YACjC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAA;SACrE;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAA;QAE3C,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;SAC7C;QAED,IAAI,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,uBAAuB,KAAK,SAAS,EAAE;YAClF,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,yBAAmC,CAAA;SACrF;QAGD,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;KAC3C;SAAM;QACL,MAAM,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;KAC5D;AACH,CAAC"}
1
+ {"version":3,"file":"handleMitResult.js","sourceRoot":"","sources":["../../../src/helpers/handleMitResult.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAG3D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAA+B,EAC/B,MAAoC,EACpC,OAAgC,EAChC,qBAA4C;IAE5C,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAA;IACnF,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;KAC1E;IACD,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAA;IAEvD,IAAI,gBAAgB,KAAK,OAAO,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAClE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAA;QAEhD,MAAM,OAAO,GAET,EAAE,CAAA;QACN,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;QAC5F,IAAI,eAAe,KAAK,SAAS,EAAE;YACjC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAA;SACrE;QAED,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAA;QAE3C,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC/B,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;SAC7C;QAED,IAAI,gBAAgB,KAAK,SAAS,IAAI,MAAM,CAAC,uBAAuB,KAAK,SAAS,EAAE;YAClF,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,yBAAmC,CAAA;SACrF;QAGD,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;KAC3C;SAAM;QACL,MAAM,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;KAC5D;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="akamai-edgeworkers" />
2
2
  import type { InjectResponse } from '@netacea/netaceaintegrationbase';
3
3
  import type { AkamaiRuntimeDependencies, AkamaiWorkerConfig } from '../types';
4
- export declare function inject(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest): Promise<InjectResponse>;
4
+ import { NetaceaRequestDetails } from '../NetaceaRequestDetails';
5
+ export declare function inject(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest, netaceaRequestDetails: NetaceaRequestDetails): Promise<InjectResponse>;
@@ -1,6 +1,8 @@
1
- import { getMitigationResponse } from './getMitigationResponse';
2
- export async function inject(deps, config, request) {
3
- const result = await getMitigationResponse(deps, config, request);
1
+ import { getBestActionFromMitigationAPI } from './getBestActionFromMitigationAPI';
2
+ import { getHeaderValueOrDefault } from './getHeaderValueOrDefault';
3
+ export async function inject(deps, config, request, netaceaRequestDetails) {
4
+ const acceptHeader = getHeaderValueOrDefault(request, 'accept', 'text/html');
5
+ const result = await getBestActionFromMitigationAPI(deps, config, netaceaRequestDetails, acceptHeader, request.host);
4
6
  const responseHeaders = {};
5
7
  responseHeaders['set-cookie'] = result.setCookie.join('; ');
6
8
  const injectHeaders = {
@@ -1 +1 @@
1
- {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../../src/helpers/inject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAA+B,EAC/B,MAAoC,EACpC,OAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACjE,MAAM,eAAe,GAA2B,EAAE,CAAA;IAClD,eAAe,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE3D,MAAM,aAAa,GAAkB;QACnC,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/D,oBAAoB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACrE,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;KACpE,CAAA;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;QAChC,aAAa,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAA;KACrD;IAED,OAAO;QACL,aAAa;QACb,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE;YACR,OAAO,EAAE,eAAe;SACzB;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"inject.js","sourceRoot":"","sources":["../../../src/helpers/inject.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAEnE,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAA+B,EAC/B,MAAoC,EACpC,OAAgC,EAChC,qBAA4C;IAE5C,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,MAAM,8BAA8B,CACjD,IAAI,EACJ,MAAM,EACN,qBAAqB,EACrB,YAAY,EACZ,OAAO,CAAC,IAAI,CACb,CAAA;IAED,MAAM,eAAe,GAA2B,EAAE,CAAA;IAClD,eAAe,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE3D,MAAM,aAAa,GAAkB;QACnC,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/D,oBAAoB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACrE,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;KACpE,CAAA;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;QAChC,aAAa,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAA;KACrD;IAED,OAAO;QACL,aAAa;QACb,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE;YACR,OAAO,EAAE,eAAe;SACzB;KACF,CAAA;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
1
  /// <reference types="akamai-edgeworkers" />
2
2
  import type { AkamaiWorkerConfig, AkamaiRuntimeDependencies } from '../types';
3
- export declare function logToDataStream(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest): Promise<void>;
3
+ import { NetaceaSessionDetails } from '../NetaceaRequestDetails';
4
+ export declare function logToDataStream(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest, startingNetaceaSession: NetaceaSessionDetails): Promise<void>;
@@ -1,21 +1,15 @@
1
- import { getHeaderValueOrDefault } from './getHeaderValueOrDefault';
2
- import { readCookie } from './readCookie';
3
- import { matchCookie } from './matchCookie';
4
1
  import { isUrlCaptchaPost } from '../netaceaPaths';
5
2
  import { findBestMitigation } from './findBestMitigation';
6
3
  import { getProtoMitataFromRequestVar } from './getProtoMitataFromRequestVar';
7
4
  import { generateHttpFingerprints } from './generateHttpFingerprints';
8
5
  import * as pack from '../../package.json';
9
- export async function logToDataStream(deps, config, request) {
6
+ export async function logToDataStream(deps, config, request, startingNetaceaSession) {
10
7
  try {
11
- const protoMitata = getProtoMitataFromRequestVar(config, request);
12
- const cookieHeader = getHeaderValueOrDefault(request, 'cookie');
13
- const netaceaCookie = await readCookie(deps, config, cookieHeader, config.netaceaCookieName);
14
- const cookieInfo = matchCookie(netaceaCookie);
15
- const userId = protoMitata?.userId ?? cookieInfo?.userId ?? '';
16
- const match = protoMitata?.match ?? cookieInfo?.match ?? 0;
17
- const mitigate = protoMitata?.mitigate ?? cookieInfo?.mitigate ?? 0;
18
- const captcha = protoMitata?.captcha ?? cookieInfo?.captcha ?? 0;
8
+ const updatedNetaceaSession = getProtoMitataFromRequestVar(config, request);
9
+ const userId = updatedNetaceaSession?.userId ?? startingNetaceaSession?.userId ?? '';
10
+ const match = updatedNetaceaSession?.match ?? startingNetaceaSession?.match ?? 0;
11
+ const mitigate = updatedNetaceaSession?.mitigate ?? startingNetaceaSession?.mitigate ?? 0;
12
+ const captcha = updatedNetaceaSession?.captcha ?? startingNetaceaSession?.captcha ?? 0;
19
13
  const { sessionStatus } = findBestMitigation(config, match, mitigate, captcha, isUrlCaptchaPost(request.path, request.method));
20
14
  const [headerFingerprint, cookieFingerprint] = await generateHttpFingerprints(request);
21
15
  const dataStreamLogValue = [
@@ -1 +1 @@
1
- {"version":3,"file":"logToDataStream.js","sourceRoot":"","sources":["../../../src/helpers/logToDataStream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAE1C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAA+B,EAC/B,MAAoC,EACpC,OAAgC;IAGhC,IAAI;QACF,MAAM,WAAW,GAAG,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACjE,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,iBAA2B,CAAC,CAAA;QACtG,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,IAAI,EAAE,CAAA;QAC9D,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,IAAI,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,IAAI,UAAU,EAAE,QAAQ,IAAI,CAAC,CAAA;QACnE,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,IAAI,CAAC,CAAA;QAEhE,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAC1C,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAA;QAED,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAA;QAGtF,MAAM,kBAAkB,GAAG;YACzB,MAAM;YACN,aAAa;YACb,IAAI,CAAC,OAAO;YACZ,iBAAiB;YACjB,iBAAiB;SAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEX,OAAO,CAAC,WAAW,CAAC,iCAAiC,EAAE,kBAAkB,CAAC,CAAA;KAC3E;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEvB,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,EAAE,CAAC,CAAA;KACjE;AACH,CAAC"}
1
+ {"version":3,"file":"logToDataStream.js","sourceRoot":"","sources":["../../../src/helpers/logToDataStream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAA;AAG1C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAA+B,EAC/B,MAAoC,EACpC,OAAgC,EAChC,sBAA6C;IAG7C,IAAI;QAEF,MAAM,qBAAqB,GAAG,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAE3E,MAAM,MAAM,GAAG,qBAAqB,EAAE,MAAM,IAAI,sBAAsB,EAAE,MAAM,IAAI,EAAE,CAAA;QACpF,MAAM,KAAK,GAAG,qBAAqB,EAAE,KAAK,IAAI,sBAAsB,EAAE,KAAK,IAAI,CAAC,CAAA;QAChF,MAAM,QAAQ,GAAG,qBAAqB,EAAE,QAAQ,IAAI,sBAAsB,EAAE,QAAQ,IAAI,CAAC,CAAA;QACzF,MAAM,OAAO,GAAG,qBAAqB,EAAE,OAAO,IAAI,sBAAsB,EAAE,OAAO,IAAI,CAAC,CAAA;QAEtF,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAC1C,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAA;QAED,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAA;QAGtF,MAAM,kBAAkB,GAAG;YACzB,MAAM;YACN,aAAa;YACb,IAAI,CAAC,OAAO;YACZ,iBAAiB;YACjB,iBAAiB;SAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEX,OAAO,CAAC,WAAW,CAAC,iCAAiC,EAAE,kBAAkB,CAAC,CAAA;KAC3E;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAEvB,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,EAAE,CAAC,CAAA;KACjE;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
1
  /// <reference types="akamai-edgeworkers" />
2
+ import { NetaceaRequestDetails } from '../NetaceaRequestDetails';
2
3
  import type { AkamaiMitigateResponse, AkamaiRuntimeDependencies, AkamaiWorkerConfig } from '../types';
3
- export declare function mitigate(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest): Promise<AkamaiMitigateResponse>;
4
+ export declare function mitigate(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest, netaceaRequestDetails: NetaceaRequestDetails): Promise<AkamaiMitigateResponse>;
@@ -1,6 +1,8 @@
1
- import { getMitigationResponse } from './getMitigationResponse';
2
- export async function mitigate(deps, config, request) {
3
- const result = await getMitigationResponse(deps, config, request);
1
+ import { getHeaderValueOrDefault } from './getHeaderValueOrDefault';
2
+ import { getBestActionFromMitigationAPI } from './getBestActionFromMitigationAPI';
3
+ export async function mitigate(deps, config, request, netaceaRequestDetails) {
4
+ const acceptHeader = getHeaderValueOrDefault(request, 'accept', 'text/html');
5
+ const result = await getBestActionFromMitigationAPI(deps, config, netaceaRequestDetails, acceptHeader, request.host);
4
6
  const responseHeaders = {};
5
7
  let body;
6
8
  let status;
@@ -1 +1 @@
1
- {"version":3,"file":"mitigate.js","sourceRoot":"","sources":["../../../src/helpers/mitigate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAA+B,EAC/B,MAAoC,EACpC,OAAgC;IAEhC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IACjE,MAAM,eAAe,GAA2B,EAAE,CAAA;IAClD,IAAI,IAAwB,CAAA;IAC5B,IAAI,MAA0B,CAAA;IAC9B,IAAI,MAAM,CAAC,SAAS,EAAE;QACpB,MAAM,GAAG,GAAG,CAAA;QACZ,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE;YACnC,eAAe,CAAC,cAAc,CAAC,GAAG,0BAA0B,CAAA;YAC5D,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;SACnB;aAAM;YAEL,IAAI,GAAG,WAAW,CAAA;SACnB;KACF;IAED,OAAO;QACL,QAAQ,EAAE;YACR,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC9B,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;QACD,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"mitigate.js","sourceRoot":"","sources":["../../../src/helpers/mitigate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AAEjF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAA+B,EAC/B,MAAoC,EACpC,OAAgC,EAChC,qBAA4C;IAE5C,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,MAAM,8BAA8B,CACjD,IAAI,EACJ,MAAM,EACN,qBAAqB,EACrB,YAAY,EACZ,OAAO,CAAC,IAAI,CACb,CAAA;IAED,MAAM,eAAe,GAA2B,EAAE,CAAA;IAClD,IAAI,IAAwB,CAAA;IAC5B,IAAI,MAA0B,CAAA;IAC9B,IAAI,MAAM,CAAC,SAAS,EAAE;QACpB,MAAM,GAAG,GAAG,CAAA;QACZ,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE;YACnC,eAAe,CAAC,cAAc,CAAC,GAAG,0BAA0B,CAAA;YAC5D,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;SACnB;aAAM;YAEL,IAAI,GAAG,WAAW,CAAA;SACnB;KACF;IAED,OAAO;QACL,QAAQ,EAAE;YACR,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE;YAC9B,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;QACD,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAA;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="akamai-edgeworkers" />
2
2
  import type { NetaceaMitigationResponse } from '@netacea/netaceaintegrationbase';
3
3
  import type { AkamaiRuntimeDependencies, AkamaiWorkerConfig, Response } from '../types';
4
- export declare function runMitigation(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, args: EW.IngressClientRequest): Promise<NetaceaMitigationResponse<Response>>;
4
+ import { NetaceaRequestDetails } from '../NetaceaRequestDetails';
5
+ export declare function runMitigation(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest, netaceaRequestDetails: NetaceaRequestDetails): Promise<NetaceaMitigationResponse<Response>>;
@@ -2,15 +2,15 @@ import { NetaceaMitigationType } from '@netacea/netaceaintegrationbase';
2
2
  import { mitigate } from './mitigate';
3
3
  import { inject } from './inject';
4
4
  import { processIngest } from './processIngest';
5
- export async function runMitigation(deps, config, args) {
5
+ export async function runMitigation(deps, config, request, netaceaRequestDetails) {
6
6
  try {
7
7
  switch (config.mitigationType) {
8
8
  case NetaceaMitigationType.MITIGATE:
9
- return await mitigate(deps, config, args);
9
+ return await mitigate(deps, config, request, netaceaRequestDetails);
10
10
  case NetaceaMitigationType.INJECT:
11
- return await inject(deps, config, args);
11
+ return await inject(deps, config, request, netaceaRequestDetails);
12
12
  case NetaceaMitigationType.INGEST:
13
- return await processIngest(deps, config, args);
13
+ return await processIngest(deps, config, request);
14
14
  default:
15
15
  throw new Error(`Netacea Error: Mitigation type ${config.mitigationType} not recognised`);
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runMitigation.js","sourceRoot":"","sources":["../../../src/helpers/runMitigation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAA+B,EAC/B,MAAoC,EACpC,IAA6B;IAE7B,IAAI;QACF,QAAQ,MAAM,CAAC,cAAc,EAAE;YAC7B,KAAK,qBAAqB,CAAC,QAAQ;gBACjC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAC3C,KAAK,qBAAqB,CAAC,MAAM;gBAC/B,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YACzC,KAAK,qBAAqB,CAAC,MAAM;gBAC/B,OAAO,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YAChD;gBAEE,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,cAAc,iBAAiB,CAAC,CAAA;SAC5F;KACF;IAAC,OAAO,CAAC,EAAE;QAEV,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;QAC3C,OAAO;YACL,aAAa,EAAE;gBACb,mBAAmB,EAAE,GAAG;gBACxB,iBAAiB,EAAE,GAAG;gBACtB,oBAAoB,EAAE,GAAG;aAC1B;YACD,aAAa,EAAE,EAAE;SAClB,CAAA;KACF;AACH,CAAC"}
1
+ {"version":3,"file":"runMitigation.js","sourceRoot":"","sources":["../../../src/helpers/runMitigation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAG/C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAA+B,EAC/B,MAAoC,EACpC,OAAgC,EAChC,qBAA4C;IAE5C,IAAI;QACF,QAAQ,MAAM,CAAC,cAAc,EAAE;YAC7B,KAAK,qBAAqB,CAAC,QAAQ;gBACjC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAA;YACrE,KAAK,qBAAqB,CAAC,MAAM;gBAC/B,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAA;YACnE,KAAK,qBAAqB,CAAC,MAAM;gBAC/B,OAAO,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;YACnD;gBAEE,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,cAAc,iBAAiB,CAAC,CAAA;SAC5F;KACF;IAAC,OAAO,CAAC,EAAE;QAEV,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;QAC3C,OAAO;YACL,aAAa,EAAE;gBACb,mBAAmB,EAAE,GAAG;gBACxB,iBAAiB,EAAE,GAAG;gBACtB,oBAAoB,EAAE,GAAG;aAC1B;YACD,aAAa,EAAE,EAAE;SAClB,CAAA;KACF;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import type { MakeMitigateAPICallResponse } from '@netacea/netaceaintegrationbase';
2
2
  import type { AkamaiRuntimeDependencies, AkamaiWorkerConfig } from '../types';
3
- export declare function makeMitigateApiCall(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, userId: string | undefined, clientIP: string, userAgent: string, captchaCookie: string | undefined, accept: string, host: string): Promise<MakeMitigateAPICallResponse>;
3
+ import { NetaceaRequestDetails } from '../NetaceaRequestDetails';
4
+ export declare function makeMitigateApiCall(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, netaceaRequestDetails: NetaceaRequestDetails, accept: string, host: string): Promise<MakeMitigateAPICallResponse>;
@@ -2,17 +2,17 @@ import { getApiCallResponseFromResponse } from './getApiCallResponseFromResponse
2
2
  import { buildCookieHeader } from '../helpers/buildCookieHeader';
3
3
  import { acceptHeaderToNetaceaContentType, mitSvcJsonResponseToUrlResponse } from '../helpers/captchaContentNegotiation';
4
4
  import { makeRequest } from '../helpers/makeRequest';
5
- export async function makeMitigateApiCall(deps, config, userId, clientIP, userAgent, captchaCookie, accept, host) {
5
+ export async function makeMitigateApiCall(deps, config, netaceaRequestDetails, accept, host) {
6
6
  const headers = {
7
7
  'X-Netacea-API-Key': config.apiKey,
8
- 'X-Netacea-Client-IP': clientIP,
9
- 'user-agent': userAgent,
8
+ 'X-Netacea-Client-IP': netaceaRequestDetails.clientIp,
9
+ 'user-agent': netaceaRequestDetails.userAgent,
10
10
  'cookie': buildCookieHeader({
11
- _mitatacaptcha: captchaCookie
11
+ _mitatacaptcha: netaceaRequestDetails.netaceaSession.captchaToken
12
12
  })
13
13
  };
14
- if (userId !== undefined) {
15
- headers['X-Netacea-UserId'] = userId;
14
+ if (netaceaRequestDetails.netaceaSession.userId !== undefined) {
15
+ headers['X-Netacea-UserId'] = netaceaRequestDetails.netaceaSession.userId;
16
16
  }
17
17
  if (config.captchaSiteKey !== undefined && config.captchaSecretKey !== undefined) {
18
18
  headers['X-Netacea-Captcha-Site-Key'] = config.captchaSiteKey;
@@ -32,6 +32,6 @@ export async function makeMitigateApiCall(deps, config, userId, clientIP, userAg
32
32
  if (isJsonRequest && config.netaceaCaptchaPath !== undefined) {
33
33
  res.body = mitSvcJsonResponseToUrlResponse(res.body, host, config.netaceaCaptchaPath);
34
34
  }
35
- return await getApiCallResponseFromResponse(deps, config, undefined, res, userId, clientIP);
35
+ return await getApiCallResponseFromResponse(deps, config, undefined, res, netaceaRequestDetails.netaceaSession.userId, netaceaRequestDetails.clientIp);
36
36
  }
37
37
  //# sourceMappingURL=makeMitigateApiCall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"makeMitigateApiCall.js","sourceRoot":"","sources":["../../../src/mitigation/makeMitigateApiCall.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AACxH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA+B,EAC/B,MAAoC,EACpC,MAA0B,EAC1B,QAAgB,EAChB,SAAiB,EACjB,aAAiC,EACjC,MAAc,EACd,IAAY;IAEZ,MAAM,OAAO,GAA8B;QACzC,mBAAmB,EAAE,MAAM,CAAC,MAAgB;QAC5C,qBAAqB,EAAE,QAAQ;QAC/B,YAAY,EAAE,SAAS;QACvB,QAAQ,EAAE,iBAAiB,CAAC;YAC1B,cAAc,EAAE,aAAa;SAC9B,CAAC;KACH,CAAA;IAED,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAA;KACrC;IAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE;QAChF,OAAO,CAAC,4BAA4B,CAAC,GAAG,MAAM,CAAC,cAAc,CAAA;QAC7D,OAAO,CAAC,8BAA8B,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAA;KAClE;IAED,IAAI,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE;QAC/E,OAAO,CAAC,gCAAgC,CAAC,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAA;KACrF;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,gCAAgC,CAAC,KAAK,kBAAkB,CAAA;IACtF,MAAM,GAAG,GAAG,MAAM,WAAW,CAC3B,IAAI,EACJ,MAAM,EACN;QACE,IAAI,EAAE,MAAM,CAAC,oBAA8B;QAC3C,IAAI,EAAE,GAAG;QACT,OAAO;QACP,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CACF,CAAA;IAED,IAAI,aAAa,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE;QAC5D,GAAG,CAAC,IAAI,GAAG,+BAA+B,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAA;KACtF;IAED,OAAO,MAAM,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;AAC7F,CAAC"}
1
+ {"version":3,"file":"makeMitigateApiCall.js","sourceRoot":"","sources":["../../../src/mitigation/makeMitigateApiCall.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AACxH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA+B,EAC/B,MAAoC,EACpC,qBAA4C,EAC5C,MAAc,EACd,IAAY;IAEZ,MAAM,OAAO,GAA8B;QACzC,mBAAmB,EAAE,MAAM,CAAC,MAAgB;QAC5C,qBAAqB,EAAE,qBAAqB,CAAC,QAAQ;QACrD,YAAY,EAAE,qBAAqB,CAAC,SAAS;QAC7C,QAAQ,EAAE,iBAAiB,CAAC;YAC1B,cAAc,EAAE,qBAAqB,CAAC,cAAc,CAAC,YAAY;SAClE,CAAC;KACH,CAAA;IAED,IAAI,qBAAqB,CAAC,cAAc,CAAC,MAAM,KAAK,SAAS,EAAE;QAC7D,OAAO,CAAC,kBAAkB,CAAC,GAAG,qBAAqB,CAAC,cAAc,CAAC,MAAM,CAAA;KAC1E;IAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE;QAChF,OAAO,CAAC,4BAA4B,CAAC,GAAG,MAAM,CAAC,cAAc,CAAA;QAC7D,OAAO,CAAC,8BAA8B,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAA;KAClE;IAED,IAAI,MAAM,CAAC,yBAAyB,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE;QAC/E,OAAO,CAAC,gCAAgC,CAAC,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAA;KACrF;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,gCAAgC,CAAC,KAAK,kBAAkB,CAAA;IACtF,MAAM,GAAG,GAAG,MAAM,WAAW,CAC3B,IAAI,EACJ,MAAM,EACN;QACE,IAAI,EAAE,MAAM,CAAC,oBAA8B;QAC3C,IAAI,EAAE,GAAG;QACT,OAAO;QACP,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CACF,CAAA;IAED,IAAI,aAAa,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE;QAC5D,GAAG,CAAC,IAAI,GAAG,+BAA+B,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAA;KACtF;IAED,OAAO,MAAM,8BAA8B,CACzC,IAAI,EACJ,MAAM,EACN,SAAS,EACT,GAAG,EACH,qBAAqB,CAAC,cAAc,CAAC,MAAM,EAC3C,qBAAqB,CAAC,QAAQ,CAC/B,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netacea/akamai",
3
- "version": "5.0.83",
3
+ "version": "5.0.85",
4
4
  "description": "Netacea Akamai CDN Integration",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "license": "ISC",
22
22
  "dependencies": {
23
- "@netacea/netaceaintegrationbase": "^1.16.89",
23
+ "@netacea/netaceaintegrationbase": "^1.16.91",
24
24
  "buffer": "^6.0.3",
25
25
  "jssha": "^3.3.0"
26
26
  },
@@ -67,5 +67,5 @@
67
67
  "tslib": "^2.0.3",
68
68
  "typescript": "^4.0.3"
69
69
  },
70
- "gitHead": "46a0ac398cf40694cc00b8407f06a1991966c9bd"
70
+ "gitHead": "57f80ea5755e2d9c40f5d20ce0ea3243ad062dd0"
71
71
  }
@@ -1,4 +0,0 @@
1
- /// <reference types="akamai-edgeworkers" />
2
- import type { AkamaiRuntimeDependencies, AkamaiWorkerConfig } from '../types';
3
- import { BestActionResponse } from './getBestActionFromMitigationAPI';
4
- export declare function getMitigationResponse(deps: AkamaiRuntimeDependencies, config: Readonly<AkamaiWorkerConfig>, request: EW.IngressClientRequest): Promise<BestActionResponse>;
@@ -1,14 +0,0 @@
1
- import { getHeaderValueOrDefault } from './getHeaderValueOrDefault';
2
- import { readCookie } from './readCookie';
3
- import { getVariableOrDefault } from './getVariable';
4
- import { getBestActionFromMitigationAPI } from './getBestActionFromMitigationAPI';
5
- export async function getMitigationResponse(deps, config, request) {
6
- const cookies = getHeaderValueOrDefault(request, 'cookie');
7
- const netaceaCookie = await readCookie(deps, config, cookies, config.netaceaCookieName);
8
- const mitataCaptcha = await readCookie(deps, config, cookies, config.netaceaCaptchaCookieName);
9
- const clientIp = getVariableOrDefault(request, 'PMUSER_CLIENT_IP');
10
- const userAgent = getHeaderValueOrDefault(request, 'user-agent');
11
- const acceptHeader = getHeaderValueOrDefault(request, 'accept', 'text/html');
12
- return await getBestActionFromMitigationAPI(deps, config, netaceaCookie, clientIp, userAgent, acceptHeader, request.host, mitataCaptcha);
13
- }
14
- //# sourceMappingURL=getMitigationResponse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getMitigationResponse.js","sourceRoot":"","sources":["../../../src/helpers/getMitigationResponse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAsB,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AAErG,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAA+B,EAC/B,MAAoC,EACpC,OAAgC;IAEhC,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,iBAA2B,CAAC,CAAA;IACjG,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,wBAAkC,CAAC,CAAA;IACxG,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAChE,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IAE5E,OAAO,MAAM,8BAA8B,CACzC,IAAI,EACJ,MAAM,EACN,aAAa,EACb,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,OAAO,CAAC,IAAI,EACZ,aAAa,CACd,CAAA;AACH,CAAC"}