diff --git a/index.html b/index.html index 8bc767e4..47c765b5 100644 --- a/index.html +++ b/index.html @@ -680,12 +680,24 @@

Endpoints

New Session + + GET + /session/{session id} + Get Session + + DELETE /session/{session id} Delete Session + + POST + /session/async + Async New Session + + GET /status @@ -1289,6 +1301,14 @@

Errors

but did not match an method for that URL. + + unknown session + 404 + unknown session + The requested sessionId did not match + with any sessionId known by a node. + + unsupported operation 500 @@ -2139,8 +2159,15 @@

Sessions

an intermediary node will also close the session of the associated session. -

All commands, except New Session and Status, - have an associated current session, +

An intermediary node will also maintain a list of + session creation jobs. These include a mapping from + a session creation id to a session id of + an associated session. + +New Session, Async New Session, and Status commands + have no associated session or session creation job. + +

All other commands have an associated current session, which is the session in which that command will run.

A remote end has an associated list of @@ -2449,6 +2476,55 @@

New Sessio +
+

Get Session

+ + + + + + + + + + +
HTTP MethodURI Template
GET/session/{session id}
+ +

The remote end steps are: + +

    +
  1. Let session be a job in active sessions + with a session id matching session id + +

  2. If Remote end is an endpoint node and + session is null, return error + with error code unknown session. + +

  3. If Remote end is an intermediary node and + session is null, let session + be a job in session creation job with a session id + matching session creation id + +

  4. If Remote end is an intermediary node and + session is null, return error + with error code unknown session. + +

  5. Let body be a JSON Object initialised with: +

    +
    +
    "sessionId" +
    The session id of the current session. + +
    "capabilities" +
    The capabilities of the current session. +
    +
    + +
  6. Return success with data body. + This conversation was marked as resolved by christian-bromann +

+
+

Delete Session

@@ -2473,6 +2549,69 @@

Delete Session

+
+

Async New Session

+ + + + + + + + + + +
HTTP MethodURI Template
POST/session/async
+ +

The remote end steps are: + +

    +
  1. Perform the following substeps based on the remote end’s type: +

    +
    Remote end is an endpoint node +
    +
      +
    1. Let session be a job iniated by following the same steps + defined in New Session + +

    2. Let body be a new JSON Object with the following + properties: + +

      +
      "sessionCreationId" +
      The session id of the session. +
      + +
    3. Return success with data body. +

    + +
    Remote end is an intermediary node +
    +
      +
    1. Use the result of the capabilities processing algorithm + to route the new session request to the appropriate endpoint node. + An intermediary node is free to define extension capabilities + to assist in this process, however, these specific capabilities + must not be forwarded to the endpoint node. + +

    2. Let session creation job be a new JSON Object + with the following properties: + +

      +
      "sessionCreationId" +
      The result of generating a UUID. +
      + +
    3. Add the session creation job to the list of + session creation jobs. + +
    4. Return success with data session creation job. +

    +
    +
+ +
+

Status