From df699bc8a4831ebcf41275952eea8f6db3b646d3 Mon Sep 17 00:00:00 2001
From: doubleface <christophe@cozycloud.cc>
Date: Thu, 23 May 2024 16:05:31 +0200
Subject: [PATCH 1/3] feat: Allow to use a custom requestInstance in
 solveCaptcha

---
 .../src/libs/solveCaptcha.js                  | 52 ++++++++++++-------
 1 file changed, 32 insertions(+), 20 deletions(-)

diff --git a/packages/cozy-konnector-libs/src/libs/solveCaptcha.js b/packages/cozy-konnector-libs/src/libs/solveCaptcha.js
index 433cbc6fc..745c9083a 100644
--- a/packages/cozy-konnector-libs/src/libs/solveCaptcha.js
+++ b/packages/cozy-konnector-libs/src/libs/solveCaptcha.js
@@ -54,7 +54,8 @@ const solveCaptcha = async (params = {}) => {
   const defaultParams = {
     type: 'recaptcha',
     timeout: DEFAULT_TIMEOUT,
-    withFullSolution: false
+    withFullSolution: false,
+    requestInstance: request
   }
   let solution
   let resultAttribute = 'gRecaptchaResponse'
@@ -69,7 +70,8 @@ const solveCaptcha = async (params = {}) => {
     solution = await solveWithAntiCaptcha(
       { websiteKey, websiteURL, type: 'NoCaptchaTaskProxyless' },
       params.timeout,
-      secrets
+      secrets,
+      params
     )
   } else if (params.type === 'recaptchav3') {
     checkMandatoryParams(params, [
@@ -88,7 +90,8 @@ const solveCaptcha = async (params = {}) => {
         type: 'RecaptchaV3TaskProxyless'
       },
       params.timeout,
-      secrets
+      secrets,
+      params
     )
   } else if (params.type === 'hcaptcha') {
     checkMandatoryParams(params, ['websiteKey', 'websiteURL'])
@@ -100,7 +103,8 @@ const solveCaptcha = async (params = {}) => {
         type: 'HCaptchaTaskProxyless'
       },
       params.timeout,
-      secrets
+      secrets,
+      params
     )
   } else if (params.type === 'image') {
     checkMandatoryParams(params, ['body'])
@@ -109,7 +113,8 @@ const solveCaptcha = async (params = {}) => {
     solution = await solveWithAntiCaptcha(
       { body: params.body, type: 'ImageToTextTask' },
       params.timeout,
-      secrets
+      secrets,
+      params
     )
   }
   if (params.withFullSolution) {
@@ -132,7 +137,8 @@ function checkMandatoryParams(params = {}, mandatoryParams = []) {
 async function solveWithAntiCaptcha(
   taskParams,
   timeout = DEFAULT_TIMEOUT,
-  secrets
+  secrets,
+  params
 ) {
   const antiCaptchaApiUrl = 'https://api.anti-captcha.com'
   let gRecaptchaResponse = null
@@ -142,23 +148,29 @@ async function solveWithAntiCaptcha(
   const clientKey = secrets.antiCaptchaClientKey
   if (clientKey) {
     log('debug', '  Creating captcha resolution task...')
-    const task = await request.post(`${antiCaptchaApiUrl}/createTask`, {
-      body: {
-        clientKey,
-        task: taskParams
-      },
-      json: true
-    })
+    const task = await params.requestInstance.post(
+      `${antiCaptchaApiUrl}/createTask`,
+      {
+        body: {
+          clientKey,
+          task: taskParams
+        },
+        json: true
+      }
+    )
     if (task && task.taskId) {
       log('debug', `    Task id : ${task.taskId}`)
       while (!gRecaptchaResponse) {
-        const resp = await request.post(`${antiCaptchaApiUrl}/getTaskResult`, {
-          body: {
-            clientKey,
-            taskId: task.taskId
-          },
-          json: true
-        })
+        const resp = await params.requestInstance.post(
+          `${antiCaptchaApiUrl}/getTaskResult`,
+          {
+            body: {
+              clientKey,
+              taskId: task.taskId
+            },
+            json: true
+          }
+        )
         if (resp.status === 'ready') {
           if (resp.errorId) {
             log('error', `Anticaptcha error: ${JSON.stringify(resp)}`)

From 916f92632be28de1bcb51c6bd105fe3c513363ca Mon Sep 17 00:00:00 2001
From: doubleface <christophe@cozycloud.cc>
Date: Thu, 23 May 2024 16:06:27 +0200
Subject: [PATCH 2/3] fix: Lint error Assignment to function parameter 'params'

---
 packages/cozy-konnector-libs/src/libs/solveCaptcha.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/packages/cozy-konnector-libs/src/libs/solveCaptcha.js b/packages/cozy-konnector-libs/src/libs/solveCaptcha.js
index 745c9083a..c7d9dcd31 100644
--- a/packages/cozy-konnector-libs/src/libs/solveCaptcha.js
+++ b/packages/cozy-konnector-libs/src/libs/solveCaptcha.js
@@ -50,7 +50,7 @@ const DEFAULT_TIMEOUT = connectorStartTime + 3 * m // 3 minutes by default to le
  * ```
  * @alias module:solveCaptcha
  */
-const solveCaptcha = async (params = {}) => {
+const solveCaptcha = async (userParams = {}) => {
   const defaultParams = {
     type: 'recaptcha',
     timeout: DEFAULT_TIMEOUT,
@@ -60,7 +60,7 @@ const solveCaptcha = async (params = {}) => {
   let solution
   let resultAttribute = 'gRecaptchaResponse'
 
-  params = { ...defaultParams, ...params }
+  const params = { ...defaultParams, ...userParams }
 
   const secrets = JSON.parse(process.env.COZY_PARAMETERS || '{}').secret
 

From 05c984b3ceb2f7d9052dea749100c805254e5067 Mon Sep 17 00:00:00 2001
From: Cozy Bot <npm@cozycloud.cc>
Date: Thu, 23 May 2024 14:33:57 +0000
Subject: [PATCH 3/3] [skip ci] Publish

 - cozy-jobs-cli@2.4.2
 - cozy-konnector-libs@5.11.0
---
 packages/cozy-jobs-cli/CHANGELOG.md       |  8 ++++++++
 packages/cozy-jobs-cli/package.json       |  4 ++--
 packages/cozy-konnector-libs/CHANGELOG.md | 16 ++++++++++++++++
 packages/cozy-konnector-libs/package.json |  2 +-
 4 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/packages/cozy-jobs-cli/CHANGELOG.md b/packages/cozy-jobs-cli/CHANGELOG.md
index db440c212..6943bfe6d 100644
--- a/packages/cozy-jobs-cli/CHANGELOG.md
+++ b/packages/cozy-jobs-cli/CHANGELOG.md
@@ -3,6 +3,14 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+## [2.4.2](https://github.com/cozy/cozy-konnector-libs/compare/cozy-jobs-cli@2.4.1...cozy-jobs-cli@2.4.2) (2024-05-23)
+
+**Note:** Version bump only for package cozy-jobs-cli
+
+
+
+
+
 ## [2.4.1](https://github.com/cozy/cozy-konnector-libs/compare/cozy-jobs-cli@2.4.0...cozy-jobs-cli@2.4.1) (2024-03-20)
 
 **Note:** Version bump only for package cozy-jobs-cli
diff --git a/packages/cozy-jobs-cli/package.json b/packages/cozy-jobs-cli/package.json
index 2880df9fd..1ea9d64e5 100644
--- a/packages/cozy-jobs-cli/package.json
+++ b/packages/cozy-jobs-cli/package.json
@@ -1,6 +1,6 @@
 {
   "name": "cozy-jobs-cli",
-  "version": "2.4.1",
+  "version": "2.4.2",
   "description": "Manage cozy jobs",
   "main": "index.js",
   "repository": {
@@ -29,7 +29,7 @@
     "cozy-client": "45.14.1",
     "cozy-device-helper": "^2.1.0",
     "cozy-flags": "^2.8.7",
-    "cozy-konnector-libs": "^5.10.1",
+    "cozy-konnector-libs": "^5.11.0",
     "cozy-logger": "1.9.0",
     "node-fetch": "2.7.0",
     "open": "8.4.0",
diff --git a/packages/cozy-konnector-libs/CHANGELOG.md b/packages/cozy-konnector-libs/CHANGELOG.md
index 38da68e5c..93c272fef 100644
--- a/packages/cozy-konnector-libs/CHANGELOG.md
+++ b/packages/cozy-konnector-libs/CHANGELOG.md
@@ -3,6 +3,22 @@
 All notable changes to this project will be documented in this file.
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
+# [5.11.0](https://github.com/cozy/cozy-konnector-libs/compare/cozy-konnector-libs@5.10.1...cozy-konnector-libs@5.11.0) (2024-05-23)
+
+
+### Bug Fixes
+
+* Lint error Assignment to function parameter 'params' ([916f926](https://github.com/cozy/cozy-konnector-libs/commit/916f92632be28de1bcb51c6bd105fe3c513363ca))
+
+
+### Features
+
+* Allow to use a custom requestInstance in solveCaptcha ([df699bc](https://github.com/cozy/cozy-konnector-libs/commit/df699bc8a4831ebcf41275952eea8f6db3b646d3))
+
+
+
+
+
 ## [5.10.1](https://github.com/cozy/cozy-konnector-libs/compare/cozy-konnector-libs@5.10.0...cozy-konnector-libs@5.10.1) (2024-03-20)
 
 
diff --git a/packages/cozy-konnector-libs/package.json b/packages/cozy-konnector-libs/package.json
index 3e83433fa..b8ebb38fa 100644
--- a/packages/cozy-konnector-libs/package.json
+++ b/packages/cozy-konnector-libs/package.json
@@ -1,6 +1,6 @@
 {
   "name": "cozy-konnector-libs",
-  "version": "5.10.1",
+  "version": "5.11.0",
   "description": "All the libs needed by a cozy v3 konnector",
   "main": "dist/index.js",
   "repository": {