From 048ca4be43d15e078f583ddb973e2dbe0212a988 Mon Sep 17 00:00:00 2001 From: Andres Galindo Date: Wed, 28 Mar 2018 15:57:48 -0400 Subject: [PATCH] Added support for hub protocol (#10434) --- docs/en/advanced-concepts/grid.md | 1 + lib/grid-register.js | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/en/advanced-concepts/grid.md b/docs/en/advanced-concepts/grid.md index a8a8d7c43..826dffaf5 100644 --- a/docs/en/advanced-concepts/grid.md +++ b/docs/en/advanced-concepts/grid.md @@ -47,6 +47,7 @@ you will see your device on the grid console page: "registerCycle": 5000, "hubPort": , "hubHost": "" + "hubProtocol": "" } } ``` diff --git a/lib/grid-register.js b/lib/grid-register.js index 1b5f20c4c..11c1e491a 100644 --- a/lib/grid-register.js +++ b/lib/grid-register.js @@ -2,6 +2,10 @@ import request from 'request-promise'; import { fs } from 'appium-support'; import logger from './logger'; +const hubUri = (config) => { + const protocol = config.hubProtocol || 'http'; + return `${protocol}://${config.hubHost}:${config.hubPort}`; +}; async function registerNode (configFile, addr, port) { let data; @@ -26,7 +30,7 @@ async function registerToGrid (options_post, jsonObject) { if (response === undefined || response.statusCode !== 200) { throw new Error('Request failed'); } - let logMessage = `Appium successfully registered with the grid on ${jsonObject.configuration.hubHost}:${jsonObject.configuration.hubPort}`; + let logMessage = `Appium successfully registered with the grid on ${hubUri(jsonObject.configuration)}`; logger.debug(logMessage); } catch (err) { logger.error(`Request to register with grid was unsuccessful: ${err.message}`); @@ -79,7 +83,7 @@ async function postRequest (data, addr, port) { }; // the post options let post_options = { - url: `http://${jsonObject.configuration.hubHost}:${jsonObject.configuration.hubPort}/grid/register`, + url: `${hubUri(jsonObject.configuration)}/grid/register`, method: 'POST', body: data, headers: post_headers, @@ -116,7 +120,7 @@ async function isAlreadyRegistered (jsonObject) { let id = jsonObject.configuration.id; try { let response = await request({ - uri: `http://${jsonObject.configuration.hubHost}:${jsonObject.configuration.hubPort}/grid/api/proxy?id=${id}`, + uri: `${hubUri(jsonObject.configuration)}/grid/api/proxy?id=${id}`, method : 'GET', timeout : 10000, resolveWithFullResponse: true // return the full response, not just the body