Skip to content

Commit c83c8f0

Browse files
christian-bromannAutomatedTester
authored andcommitted
add get session and async new session
1 parent f092acc commit c83c8f0

File tree

1 file changed

+122
-2
lines changed

1 file changed

+122
-2
lines changed

index.html

Lines changed: 122 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -680,12 +680,24 @@ <h3>Endpoints</h3>
680680
<td><a>New Session</a></td>
681681
</tr>
682682

683+
<tr>
684+
<td>GET</td>
685+
<td>/session/{session id}</td>
686+
<td><a>Get Session</a></td>
687+
</tr>
688+
683689
<tr>
684690
<td>DELETE</td>
685691
<td>/session/{<var>session id</var>}</td>
686692
<td><a>Delete Session</a></td>
687693
</tr>
688694

695+
<tr>
696+
<td>POST</td>
697+
<td>/session/async</td>
698+
<td><a>Async New Session</a></td>
699+
</tr>
700+
689701
<tr>
690702
<td>GET</td>
691703
<td>/status</td>
@@ -2172,8 +2184,15 @@ <h2>Sessions</h2>
21722184
an <a>intermediary node</a> will also <a>close the session</a> of
21732185
the <a>associated session</a>.
21742186

2175-
<p>All <a>commands</a>, except <a>New Session</a> and <a>Status</a>,
2176-
have an associated <dfn>current session</dfn>,
2187+
<p>An <a>intermediary node</a> will also maintain a list of
2188+
<dfn>session creation jobs</dfn>. These include a mapping from
2189+
a <dfn>session creation id</dfn> to a <a>session id</a> of
2190+
an <a>associated session</a>.
2191+
2192+
<a>New Session</a>, <a>Async New Session</a>, and <a>Status</a> <a>commands</a>
2193+
have no associated <a>session</a> or <a>session creation job</a>.
2194+
2195+
<p>All other <a>commands</a> have an associated <dfn>current session</dfn>,
21772196
which is the <a>session</a> in which that <a>command</a> will run.
21782197

21792198
<p>A <a>remote end</a> has an associated list of
@@ -2482,6 +2501,55 @@ <h3 id=new-session><dfn data-lt="new sessions|creating a new session">New Sessio
24822501
</ol>
24832502
</section> <!-- /New Session -->
24842503

2504+
<section>
2505+
<h3><dfn>Get Session</dfn></h3>
2506+
2507+
<table class="simple jsoncommand">
2508+
<tr>
2509+
<th>HTTP Method</th>
2510+
<th>URI Template</th>
2511+
</tr>
2512+
<tr>
2513+
<td>GET</td>
2514+
<td>/session/{session id}</td>
2515+
</tr>
2516+
</table>
2517+
2518+
<p>The <a>remote end steps</a> are:
2519+
2520+
<ol>
2521+
<li><p>Let <var>session</var> be a job in <a>active sessions</a>
2522+
with a <a>session id</a> matching <var>session id</var>
2523+
2524+
<li><p>If <a>Remote end</a> is an <a>endpoint node</a> and
2525+
<var>session</var> is <code>null</code>, return <a>error</a>
2526+
with <a>error code</a> <a>unknown session</a>.
2527+
2528+
<li><p>If <a>Remote end</a> is an <a>intermediary node</a> and
2529+
<var>session</var> is <code>null</code>, let <var>session</var>
2530+
be a job in <a>session creation job</a> with a <a>session id</a>
2531+
matching <var>session creation id</var>
2532+
2533+
<li><p>If <a>Remote end</a> is an <a>intermediary node</a> and
2534+
<var>session</var> is <code>null</code>, return <a>error</a>
2535+
with <a>error code</a> <a>unknown session</a>.
2536+
2537+
<li><p>Let <var>body</var> be a JSON <a>Object</a> initialised with:
2538+
<dl>
2539+
<dl>
2540+
<dt>"<code>sessionId</code>"
2541+
<dd>The <a>session id</a> of the <a>current session</a>.
2542+
2543+
<dt>"<code>capabilities</code>"
2544+
<dd>The capabilities of the <a>current session</a>.
2545+
</dl>
2546+
</dl>
2547+
2548+
<li><p>Return success with data <var>body</var>.
2549+
This conversation was marked as resolved by christian-bromann
2550+
</ol>
2551+
</section> <!-- /Get Session -->
2552+
24852553
<section>
24862554
<h3><dfn>Delete Session</dfn></h3>
24872555

@@ -2506,6 +2574,58 @@ <h3><dfn>Delete Session</dfn></h3>
25062574
</ol>
25072575
</section> <!-- /Delete Session -->
25082576

2577+
<section>
2578+
<h3><dfn>Async New Session</dfn></h3>
2579+
2580+
<table class="simple jsoncommand">
2581+
<tr>
2582+
<th>HTTP Method</th>
2583+
<th>URI Template</th>
2584+
</tr>
2585+
<tr>
2586+
<td>POST</td>
2587+
<td>/session/async</td>
2588+
</tr>
2589+
</table>
2590+
2591+
<p>The <a>remote end</a> steps are:
2592+
2593+
<ol>
2594+
<li><p>Perform the following substeps based on the <a>remote end</a>’s type:
2595+
<dl class=switch>
2596+
<dt><a>Remote end</a> is an <a>endpoint node</a>
2597+
<dd>
2598+
<ol>
2599+
<li><p>Execute steps defined in <a>New Session</a>
2600+
</ol>
2601+
2602+
<dt><a>Remote end</a> is an <a>intermediary node</a>
2603+
<dd>
2604+
<ol>
2605+
<li><p>Use the result of the <a>capabilities processing</a> algorithm
2606+
to route the <a>new session</a> request to the appropriate <a>endpoint node</a>.
2607+
An <a>intermediary node</a> is free to define <a>extension capabilities</a>
2608+
to assist in this process, however, these specific capabilities
2609+
must not be forwarded to the <a>endpoint node</a>.
2610+
2611+
<li><p>Let <var>session creation job</var> be a new JSON <a>Object</a>
2612+
with the following properties:
2613+
2614+
<dl>
2615+
<dt>"<code>sessionCreationId</code>"
2616+
<dd>The result of <a>generating a UUID</a>.
2617+
</dl>
2618+
2619+
<li>Add the <var>session creation job</var> to the list of
2620+
<a>session creation jobs</a>.
2621+
2622+
<li><p>Return <a>success</a> with data <var>session creation job</var>.
2623+
</ol>
2624+
</dl>
2625+
</ol>
2626+
2627+
</section> <!-- /Async New Session -->
2628+
25092629
<section>
25102630
<h3><dfn>Status</dfn></h3>
25112631

0 commit comments

Comments
 (0)