This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
There is a potential race condition in most shims and local ends, in that there may be some time between when a shim's process is launched, and it's HTTP server is ready to receive requests. Having a /status end point that a local end can poll to determine that not only is the executable started, but the HTTP server is correctly responding to requests.
When the HTTP client is able to request the endpoint, is this not enough confirmation the remote end is ready to receive commands?
There's a potential use case where the user wants to be able to start the shim, but not immediately start a session. Also, consider the case where the shim can support more than one session during its execution (a scenario not explicitly excluded by the spec). There is no other end point that is valid other than those that (1) create a new session, or (2) require an existing session. The end point does not even need to be "/status"; we could leverage a "GET" verb on the existing "/session" end point. There should simply be an idempotent, no-op end point that a local end can query to validate that, "Yes, the remote end is alive, and responding to requests."
added this in https://github.com/w3c/webdriver/pull/278 All implementations appear to have added this according to the WebDriver JSON Wire Protocol so we might as well add it here.
this has landed in 0e48b3321838b35c0ba6ac5ef1c7752a7dc64b0c