diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-27 17:36:13 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-27 17:36:13 +0200 |
commit | 5f466137ad6ac596600e3ff53c9b786815398445 (patch) | |
tree | f914c221874f0b16bf3def7ac01d59d1a99a3b0b /node_modules/selenium-webdriver/http/util.js | |
parent | c9f5ac8e763eda19aa0564179300cfff76785435 (diff) |
node_modules, clean up package.json
Diffstat (limited to 'node_modules/selenium-webdriver/http/util.js')
-rw-r--r-- | node_modules/selenium-webdriver/http/util.js | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/node_modules/selenium-webdriver/http/util.js b/node_modules/selenium-webdriver/http/util.js deleted file mode 100644 index 8662bed28..000000000 --- a/node_modules/selenium-webdriver/http/util.js +++ /dev/null @@ -1,175 +0,0 @@ -// Licensed to the Software Freedom Conservancy (SFC) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The SFC licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -/** - * @fileoverview Various HTTP utilities. - */ - -'use strict'; - -const Executor = require('./index').Executor, - HttpClient = require('./index').HttpClient, - HttpRequest = require('./index').Request, - Command = require('../lib/command').Command, - CommandName = require('../lib/command').Name, - error = require('../lib/error'), - promise = require('../lib/promise'); - - - -/** - * Queries a WebDriver server for its current status. - * @param {string} url Base URL of the server to query. - * @return {!Promise<!Object>} A promise that resolves with - * a hash of the server status. - */ -function getStatus(url) { - var client = new HttpClient(url); - var executor = new Executor(client); - var command = new Command(CommandName.GET_SERVER_STATUS); - return executor.execute(command); -} - - -// PUBLIC API - - -/** - * Queries a WebDriver server for its current status. - * @param {string} url Base URL of the server to query. - * @return {!Promise<!Object>} A promise that resolves with - * a hash of the server status. - */ -exports.getStatus = getStatus; - - -/** - * Waits for a WebDriver server to be healthy and accepting requests. - * @param {string} url Base URL of the server to query. - * @param {number} timeout How long to wait for the server. - * @param {Promise=} opt_cancelToken A promise used as a cancellation signal: - * if resolved before the server is ready, the wait will be terminated - * early with a {@link promise.CancellationError}. - * @return {!Promise} A promise that will resolve when the server is ready, or - * if the wait is cancelled. - */ -exports.waitForServer = function(url, timeout, opt_cancelToken) { - return new Promise((onResolve, onReject) => { - let start = Date.now(); - - let done = false; - let resolve = (status) => { - done = true; - onResolve(status); - }; - let reject = (err) => { - done = true; - onReject(err); - }; - - if (opt_cancelToken) { - opt_cancelToken.then(_ => reject(new promise.CancellationError)); - } - - checkServerStatus(); - function checkServerStatus() { - return getStatus(url).then(status => resolve(status), onError); - } - - function onError(e) { - // Some servers don't support the status command. If they are able to - // response with an error, then can consider the server ready. - if (e instanceof error.UnsupportedOperationError) { - resolve({}); - return; - } - - if (Date.now() - start > timeout) { - reject(Error('Timed out waiting for the WebDriver server at ' + url)); - } else { - setTimeout(function() { - if (!done) { - checkServerStatus(); - } - }, 50); - } - } - }); -}; - - -/** - * Polls a URL with GET requests until it returns a 2xx response or the - * timeout expires. - * @param {string} url The URL to poll. - * @param {number} timeout How long to wait, in milliseconds. - * @param {Promise=} opt_cancelToken A promise used as a cancellation signal: - * if resolved before the a 2xx response is received, the wait will be - * terminated early with a {@link promise.CancellationError}. - * @return {!Promise} A promise that will resolve when a 2xx is received from - * the given URL, or if the wait is cancelled. - */ -exports.waitForUrl = function(url, timeout, opt_cancelToken) { - return new Promise((onResolve, onReject) => { - let client = new HttpClient(url); - let request = new HttpRequest('GET', ''); - let start = Date.now(); - - let done = false; - let resolve = () => { - done = true; - onResolve(); - }; - let reject = (err) => { - done = true; - onReject(err); - }; - - if (opt_cancelToken) { - opt_cancelToken.then(_ => reject(new promise.CancellationError)); - } - - testUrl(); - - function testUrl() { - client.send(request).then(onResponse, onError); - } - - function onError() { - if (Date.now() - start > timeout) { - reject(Error('Timed out waiting for the URL to return 2xx: ' + url)); - } else { - setTimeout(function() { - if (!done) { - testUrl(); - } - }, 50); - } - } - - function onResponse(response) { - if (done) { - return; - } - if (response.status > 199 && response.status < 300) { - resolve(); - return; - } - onError(); - } - }); -}; |