21 Commits
Author SHA1 Message Date
dependabot-preview[bot]andMykola Mokhnach 93ff4c16f2 chore(deps): bump http-status-codes from 1.4.0 to 2.1.1 (#428)
* chore(deps): bump http-status-codes from 1.4.0 to 2.1.1

Bumps [http-status-codes](https://github.com/prettymuchbryce/node-http-status) from 1.4.0 to 2.1.1.
- [Release notes](https://github.com/prettymuchbryce/node-http-status/releases)
- [Commits](https://github.com/prettymuchbryce/node-http-status/compare/v1.4.0...2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Update imports

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Mykola Mokhnach <mokhnach@gmail.com>
2020-08-24 07:41:47 +02:00
Mykola Mokhnach faf0fb2a7c refactor: Move common constants to a separate file to avoid unnecessary cross-imports (#411) 2020-05-20 20:06:04 +02:00
Mykola Mokhnach aeffcd402d refactor: Use axios for the actual proxy implementation instead of the deprecated request module (#409)
BREAKING CHANGE: The request method of Proxy class now accepts and returns axios-specific values
BREAKING CHANGE: The default value of keepAlive setting has been changed to true
2020-05-05 16:52:14 +02:00
Mykola Mokhnach 57ef9bc7ab chore: Replace request usage with axios in tests (#408) 2020-05-05 14:26:33 +02:00
snoopy-peace 5d36756c1c chore: Define options for for doubleClick, buttonUp\Down routes (#406) 2020-04-24 11:31:51 +02:00
Isaac A. Murchie d396dbf823 chore: fix linting issues (#403)
* chore: fix linting issues

* fix: address review
2020-03-31 15:43:13 -04:00
Mykola Mokhnach b860a3bfa4 fix: Adjust the error codes for NotImplementedError (#357) 2019-10-04 13:42:56 +02:00
Isaac A. Murchie 22eef3b4a3 refactor: make server parameters a hash [breaking change] (#350) 2019-08-26 15:15:19 -04:00
greenkeeper[bot] 4eab674f92 Update eslint-config-appium to the latest version 🚀 (#295)
* chore(package): update eslint-config-appium to version 4.0.1

* chore: fix linting
2019-01-07 13:11:57 -06:00
Dan Graham 644208fe60 Copy W3C/Element keys instead of renaming them (#290) 2018-12-10 13:24:36 -08:00
Isaac A. Murchie 04af064564 Update appium-gulp-plugins (#266) 2018-10-03 09:00:58 -04:00
Mykola Mokhnach f9581f1642 Limit the count of request agents in the proxy pool (#260) 2018-09-19 09:12:59 -07:00
Mykola Mokhnach d80a78a615 Fix protocol detection inside the routing function (#257) 2018-09-08 20:39:08 +02:00
Mykola Mokhnach b161cb9527 Tune arguments transformation for /timeouts API call (#248)
* Tune arguments transformation for /timeouts API call

* Tune number verification

* Remove unnecessary validator

* Remove obsolete tests
2018-08-14 10:48:19 +02:00
Dan Graham c6c56093f5 Handle /timeouts W3C + MJSONWP proxying (#231) 2018-07-11 09:05:01 -07:00
Dan Graham a74d25cb1e Fix: Throw error after parsing protocol from proxied response (#211)
* Before it was throwing immediately which meant we weren't parsing the protocol and weren't showing the proper error responses
* If proxied W3C error doesn't have an error, make it `Unknown Error`
2018-05-14 08:36:49 -07:00
Isaac A. Murchie 1f87d0e289 Update dependencies (#206)
* Update deps

* Fix a couple of tests

* Fix protocol tests

* Fix timeout in helper and protocol tests
2018-04-27 11:08:08 -04:00
Dan Graham da4f28f7d9 Fix: Determine protocol in createSession (#194)
* Previously, we were only checking the HTTP payload to see what protocol should be
* This is inadequate, in the case of drivers that don't proxy W3C Capabilities yet
* The fix now is to set the protocol in `createSession` to see if the W3C caps were proxied through, if they're not, set protocol to MJSONWP
* Added unit test and one e2e test to confirm that this works
2018-03-14 15:44:50 -07:00
Dan Graham a14aa5f428 Convert JSONWP proxy errors (#188)
* Convert JSONWP proxy errors
  * Previously, if a proxied response has a status code >= 0 but http status code 200, the error is thrown but it's an unknown error because the 'getResponseForW3CError' function doesn't translate the error
  * Now, it translates the JSONWP error using logic we already have that accomplishes this
  * Added E2E test that tests a proxy that returns 200 but status 7 to check that it throws the correct ElementNotFoundError
  * Added unit test to handle the new case in 'getResponseForW3CError'
2018-02-19 09:22:01 -08:00
Dan Graham 7ffda66813 Fixed W3C error messaging (#182)
* Do proxying for W3C responses
  * If a W3C Response is provided by a proxy, map to the correct error
  * Checks if `value` is an object and `value.error` and maps it based on that (`value.error` is the W3C error code)
  * Broke off `errorFromCode` into `errorFromMJSONWPStatusCode` and `errorFromW3CJsonCode`
* Rename '.error' property to correct W3C property
  * The error property in the ProtocolError objects should match up with https://www.w3.org/TR/webdriver/#handling-errors under the 'JSON Error Code' column
  * Added tests for all of these
* Make ProxyRequestError work for W3C
  * Added an arg called `.w3c` that passes in the proxied W3C error
  * Fixed the `getActualError` function that looks for the .w3c variable and parses error from the code
2018-02-05 11:55:56 -08:00
Dan Graham 97c02c8af0 Rename 'mjsonwp' to 'protocol' (#178)
* Rename 'mjsonwp' to 'protocol'
  * Renamed folder from 'mjsonwp' to 'protocol' in `lib/` and `test/`
  * Renamed 'mjsonwp.js' to 'protocol.js'
  * Renamed any import statements that use 'mjsonwp'
  * _Possible breaking change_: MJSONWireProtocol class exposed in index was renamed to just Protocol.... checked Appium repo and found no libraries that use MJSONWireProtocol
* Lint fix
2018-01-29 12:41:14 -08:00