29 Commits
Author SHA1 Message Date
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 84922ef73c fix: Avoid ERR_STREAM_WRITE_AFTER_END error (#401) 2020-04-01 08:22:34 +02:00
Isaac A. Murchie be7762b608 fix: put full date on the static guinea pig pages (#402) 2020-03-31 14:05:20 -04:00
Mykola Mokhnach 0cee519e8f feat: Add requests idempotency verification on the server side (#400) 2020-03-30 22:19:27 +02:00
Mykola Mokhnach 1600980840 fix: Explicitly set keep-alive server timeout (#366) 2019-11-06 18:57:54 +01:00
Jonathan Lipps cc8b879da2 feat: stop hardcoding /wd/hub and make route prefix configurable [BREAKING CHANGE] (#346) 2019-08-27 09:23:10 -07:00
Isaac A. Murchie 22eef3b4a3 refactor: make server parameters a hash [breaking change] (#350) 2019-08-26 15:15:19 -04:00
Isaac A. Murchie 4bcd9c76fb Allow CORS for receiving async responses (#342) 2019-08-02 06:51:43 -04:00
Isaac A. Murchie 5b12eebcf0 Add function names (#309) 2019-03-21 14:38:22 -04:00
Jonathan Lipps 521229e36c add user-agent to list of cors headers (#296) 2019-01-08 11:45:56 -08:00
Mykola Mokhnach fcacb0205d Tune the list of allowed headers for CORS (#293) 2018-12-28 22:55:43 +01:00
Jonathan Lipps f66dadcd6b make allowing CORS conditional (#285)
* make allowing CORS conditional
It turns out blindly allowing CORS could be a security hazard (who knew)
See https://github.com/w3c/webdriver/pull/1362 for the conversation that led to this realization.
This change makes the cross domain middleware conditional (defaulting to the current behavior).
This way Appium can pass in 'false' based on a flag, for better server security.

* actually include function parameter we can use from appium
2018-11-21 16:46:53 -08:00
Isaac A. Murchie 04af064564 Update appium-gulp-plugins (#266) 2018-10-03 09:00:58 -04:00
Mykola Mokhnach 72dd453b9a Enforce UTF-8 encoding on request headers (#214)
* Enforce UTF-8 encoding on request headers

* Return all headers in lowercase as per HTTP/2 requirement
2018-05-29 07:15:23 +02:00
Mykola Mokhnach 2cb6695446 Send request along with websocket instance (#200) 2018-03-29 14:29:22 +02:00
Mykola Mokhnach 8a48eb3f94 Tune prefix handling for web socket pathnames (#198) 2018-03-23 18:44:33 +01:00
Mykola Mokhnach b1648467dc Add common websocket handlers (#196)
* Add common websocket handlers

* tune the default prefix

* Add integration test

* Tune the test

* Fix the functional test

* Tune socket import

* Address review comments

* Tune some expectations
2018-03-22 16:21:02 +01:00
Mykola Mokhnach d9ee071707 Properly handle unexpected socket errors (#186) 2018-02-13 16:21:57 -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
Isaac Murchie 02aab72bb0 Add error throwing to guinea pig static page 2017-10-10 08:25:35 -04:00
Isaac A. Murchie 4d47b73c3d Add static page with app banner (#138) 2017-09-11 07:32:29 -04:00
Isaac A. Murchie 01e9914b66 Update linting and add coverage (#131) 2017-08-15 08:53:47 -04:00
Max Hawkins 4b62dac30b Default to application/json when no Content-Type is supplied
The webdriver spec specifies that requests where the method is POST
should be parsed as JSON (see https://www.w3.org/TR/webdriver/#processing-model step 6).

Appium is too restrictive. It only parses as JSON if the application/json
Content-Type is provided, making it incompatible with some Webdriver clients
that follow the spec but don't send a Content-Type header.

This commit makes Appium less restrictive by defaulting to the application/json
Content-Type if none is provided.
2017-01-21 14:46:11 -06:00
Isaac Murchie 1de1af6b0c Remove logger, and start using one from appium-support 2016-12-20 12:55:23 -05:00
Isaac Murchie d2c5caafd4 Move appium-logger into base driver 2016-11-23 09:15:38 -08:00
Isaac Murchie 7e9403c488 Allow guinea pig delay to be in query 2016-08-11 08:59:03 -07:00
Isaac Murchie 6086ae0b29 Make sure the server is closed when we call close 2016-06-22 08:16:36 -07:00
Jonathan Lipps 12c8145bc0 bring appium-express into basedriver 2016-05-05 17:25:08 -07:00