diff --git a/webdriver-spec.html b/webdriver-spec.html index 73d1c94aa..0d9afb226 100644 --- a/webdriver-spec.html +++ b/webdriver-spec.html @@ -881,7 +881,8 @@

Processing Model

the session with ID session id. -
  • If request’s method is POST: +

  • If request’s method is POST + or PUT:

    1. Let parse result be the result of @@ -1383,6 +1384,26 @@

      List of Endpoints

      Take Element Screenshot + +

      The table of endpoint nodes for an intermediary node has the following +endpoints: + + + + + + + + + + + + + + + +
      MethodURI TemplateCommand
      POST/sessionNew Session
      DELETE/session/{session id}Delete Session
      GET/statusStatus
      DELETE/session/{session id}/{/paths*}Pass Through
      GET/session/{session id}/{/paths*}Pass Through
      POST/session/{session id}/{/paths*}Pass Through
      PUT/session/{session id}/{/paths*}Pass Through
      +

      @@ -8751,6 +8772,90 @@

      Take Element Screenshot

      +
      +

      Intermediary Node Commands

      + +

      In most cases, an intermediary node simply needs to accept incoming +commands from downstream, identify the correct associated +session and forward the command upstream, awaiting the +response and sending it back downstream. However, there are some +commands that behave differently in an intermediary node, and some that +are specific to intermediary nodes. + +

      +

      Pass Through

      + + + + + + + + + + + + + + + + + + + + + + +
      HTTP MethodPath Template
      DELETE/session/{session id}{/paths*}
      GET/session/{session id}{/paths*}
      POST/session/{session id}{/paths*}
      PUT/session/{session id}{/paths*}
      + +

      The Pass Through command forwards a command from + a downstream neighbor upstream to an associated + session, and the returns the response back to + the downstream neighbor. + +

      The remote end steps are: +

        +
      1. If there is no associated session for the + reference session return an error with + error code invalid session id. + +

      2. Let upstream url be a URL created by + concatenating the associated session's URL, URL + prefix, "/session/", the reference to + session id, and the referenced paths. + +

      3. Let connection be the result of creating a new HTTP + connection to upstream url with the same method as + this command was called with. How this is done is outside the scope + of this specification. + +

        Set the headers of the HTTP request. + +

      4. If method is POST or PUT: +

          +
        1. Let data be the result of serializing as JSON parameters. + +

          This must create a JSON Object that is + isomorphic to the original JSON Object parsed in step 6 of + the processing model. + +

        2. Transmit data to the upstream node + using connection. +

        + +
      5. Await the response from the upstream + node. Let status code be the HTTP status sent from + the upstream node. + +

      6. Send a response with arguments status code + and response. +

      + +
      + +
      +

      Privacy Considerations