15 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 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
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
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
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 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