summaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
Diffstat (limited to 'api')
-rw-r--r--api/alltypes/index.html40
-rw-r--r--api/index-outline.html218
-rw-r--r--api/pl.treksoft.kvision.remote/-call-module/-init-.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-call-module/configure.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-call-module/index.html51
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/-init-.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/call.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/close.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/coroutine-context.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/flush.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/incoming.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/index.html112
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/masking.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/max-frame-size.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/outgoing.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/terminate.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/-init-.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/close.html16
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-accepted-protocol.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-attributes.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-binary-message-size-limit.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-extensions.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-handshake-headers.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-id.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-local-address.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-principal.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-remote-address.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-text-message-size-limit.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-uri.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/index.html157
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/is-open.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/send-message.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/set-binary-message-size-limit.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-web-socket-session/set-text-message-size-limit.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-ws-session-module/-init-.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-dummy-ws-session-module/configure.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-controller/-init-.html1
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-controller/index.html5
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-service-manager/add-route.html16
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-service-manager/call.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-service-manager/get-parameter.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-service-manager/index.html29
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-service-manager/web-sockets-requests.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-web-socket-config/-init-.html15
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-web-socket-config/application-context.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-web-socket-config/index.html94
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-web-socket-config/register-web-socket-handlers.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-web-socket-config/route-interceptor.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-web-socket-config/services.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-web-socket-config/socket-handler.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v-web-socket-config/web-socket-session.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-k-v_-r-o-u-t-e_-i-d_-a-t-t-r-i-b-u-t-e.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-main-module/-init-.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-main-module/configure.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-main-module/index.html51
-rw-r--r--api/pl.treksoft.kvision.remote/-web-socket-session-holder/index.html (renamed from api/pl.treksoft.kvision.remote/-dummy-ws-session-module/index.html)26
-rw-r--r--api/pl.treksoft.kvision.remote/-web-socket-session-holder/web-socket-session.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-ws-session-module/-init-.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-ws-session-module/configure.html14
-rw-r--r--api/pl.treksoft.kvision.remote/-ws-session-module/index.html51
-rw-r--r--api/pl.treksoft.kvision.remote/add-path-patterns-from-services.html1
-rw-r--r--api/pl.treksoft.kvision.remote/apply-routes.html1
-rw-r--r--api/pl.treksoft.kvision.remote/index.html67
-rw-r--r--api/pl.treksoft.kvision.remote/kvision-init.html4
-rw-r--r--api/pl.treksoft.kvision.remote/write-j-s-o-n.html14
65 files changed, 793 insertions, 806 deletions
diff --git a/api/alltypes/index.html b/api/alltypes/index.html
index 6f849228..3b36e975 100644
--- a/api/alltypes/index.html
+++ b/api/alltypes/index.html
@@ -308,12 +308,6 @@
</tr>
<tr>
<td>
-<a href="../pl.treksoft.kvision.remote/-call-module/index.html">pl.treksoft.kvision.remote.CallModule</a></td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
<a href="../pl.treksoft.kvision.html/-canvas/index.html">pl.treksoft.kvision.html.Canvas</a></td>
<td>
<p>Canvas component.</p>
@@ -849,13 +843,7 @@
</tr>
<tr>
<td>
-<a href="../pl.treksoft.kvision.remote/-dummy-web-socket-server-session/index.html">pl.treksoft.kvision.remote.DummyWebSocketServerSession</a></td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
-<a href="../pl.treksoft.kvision.remote/-dummy-ws-session-module/index.html">pl.treksoft.kvision.remote.DummyWsSessionModule</a></td>
+<a href="../pl.treksoft.kvision.remote/-dummy-web-socket-session/index.html">pl.treksoft.kvision.remote.DummyWebSocketSession</a></td>
<td>
</td>
</tr>
@@ -1531,6 +1519,7 @@
<td>
<a href="../pl.treksoft.kvision.remote/-k-v-controller/index.html">pl.treksoft.kvision.remote.KVController</a></td>
<td>
+<p>Controller for handling automatic routes.</p>
</td>
</tr>
<tr>
@@ -1556,6 +1545,13 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.remote/-k-v-web-socket-config/index.html">pl.treksoft.kvision.remote.KVWebSocketConfig</a></td>
+<td>
+<p>Automatic websockets configuration.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.html/-label/index.html">pl.treksoft.kvision.html.Label</a></td>
<td>
<p>Simple label component rendered as <em>span</em>.</p>
@@ -1677,12 +1673,6 @@
</tr>
<tr>
<td>
-<a href="../pl.treksoft.kvision.remote/-main-module/index.html">pl.treksoft.kvision.remote.MainModule</a></td>
-<td>
-</td>
-</tr>
-<tr>
-<td>
<a href="../pl.treksoft.kvision.form/kotlin.collections.-map/index.html">kotlin.collections.Map</a> (extensions in package pl.treksoft.kvision.form)</td>
<td>
</td>
@@ -3266,6 +3256,12 @@ It requires @Serializable state.</p>
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.remote/-web-socket-session-holder/index.html">pl.treksoft.kvision.remote.WebSocketSessionHolder</a></td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.electron/-web-source/index.html">pl.treksoft.kvision.electron.WebSource</a></td>
<td>
</td>
@@ -3317,12 +3313,6 @@ It requires @Serializable state.</p>
<p>Definitions of CSS word-break options.</p>
</td>
</tr>
-<tr>
-<td>
-<a href="../pl.treksoft.kvision.remote/-ws-session-module/index.html">pl.treksoft.kvision.remote.WsSessionModule</a></td>
-<td>
-</td>
-</tr>
</tbody>
</table>
</BODY>
diff --git a/api/index-outline.html b/api/index-outline.html
index 70583ba6..0d496f51 100644
--- a/api/index-outline.html
+++ b/api/index-outline.html
@@ -1209,20 +1209,6 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-module/index.html"><span class="keyword">class </span><span class="identifier">CallModule</span></a></a><br/>
-<ul>
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>Module Contents</title>
-<link rel="stylesheet" href="../style.css">
-</HEAD>
-<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-module/-init-.html"><span class="identifier">CallModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallModule$<init>()/call">call</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-module/configure.html"><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-</BODY>
-</HTML>
-</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-canvas/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Canvas</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></a></a><br/>
<ul>
<HTML>
@@ -3864,29 +3850,7 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/index.html"><span class="keyword">class </span><span class="identifier">DummyWebSocketServerSession</span></a></a><br/>
-<ul>
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>Module Contents</title>
-<link rel="stylesheet" href="../style.css">
-</HEAD>
-<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/-init-.html"><span class="identifier">DummyWebSocketServerSession</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/call.html"><span class="keyword">val </span><span class="identifier">call</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/close.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketServerSession$close(kotlin.Throwable)/cause">cause</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html"><span class="identifier">Throwable</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/coroutine-context.html"><span class="keyword">val </span><span class="identifier">coroutineContext</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html"><span class="identifier">CoroutineContext</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/flush.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">flush</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/incoming.html"><span class="keyword">val </span><span class="identifier">incoming</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/masking.html"><span class="keyword">var </span><span class="identifier">masking</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/max-frame-size.html"><span class="keyword">var </span><span class="identifier">maxFrameSize</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html"><span class="identifier">Long</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/outgoing.html"><span class="keyword">val </span><span class="identifier">outgoing</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/terminate.html"><span class="keyword">fun </span><span class="identifier">terminate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-</BODY>
-</HTML>
-</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-ws-session-module/index.html"><span class="keyword">class </span><span class="identifier">DummyWsSessionModule</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DummyWebSocketSession</span></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -3895,8 +3859,24 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-ws-session-module/-init-.html"><span class="identifier">DummyWsSessionModule</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-ws-session-module/configure.html"><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/-init-.html"><span class="identifier">DummyWebSocketSession</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/close.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/close.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$close()/status">status</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-accepted-protocol.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getAcceptedProtocol</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-attributes.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getAttributes</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-binary-message-size-limit.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getBinaryMessageSizeLimit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-extensions.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getExtensions</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-handshake-headers.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getHandshakeHeaders</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-id.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getId</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-local-address.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getLocalAddress</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html"><span class="identifier">InetSocketAddress</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-principal.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getPrincipal</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/security/Principal.html"><span class="identifier">Principal</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-remote-address.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getRemoteAddress</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html"><span class="identifier">InetSocketAddress</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-text-message-size-limit.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getTextMessageSizeLimit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-uri.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getUri</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/URI.html"><span class="identifier">URI</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/is-open.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">isOpen</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/send-message.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">sendMessage</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$sendMessage((()))/message">message</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/set-binary-message-size-limit.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setBinaryMessageSizeLimit</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$setBinaryMessageSizeLimit(kotlin.Int)/messageSizeLimit">messageSizeLimit</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/set-text-message-size-limit.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setTextMessageSizeLimit</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$setTextMessageSizeLimit(kotlin.Int)/messageSizeLimit">messageSizeLimit</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -5753,8 +5733,6 @@
</HEAD>
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/-init-.html"><span class="identifier">KVServiceManager</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$<init>(kotlin.reflect.KClass((pl.treksoft.kvision.remote.KVServiceManager.T)))/serviceClass">serviceClass</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html"><span class="identifier">KClass</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/add-route.html"><span class="keyword">fun </span><span class="identifier">addRoute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/add-route.html"><span class="keyword">fun </span><span class="identifier">addRoute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction1((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction1((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction1((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction2((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction2((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction2((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction3((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction3((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction3((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
@@ -5763,12 +5741,10 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction6((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR3, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR4, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR5, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction6((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR3, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR4, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR5, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction6((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR3, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR4, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR5, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.KVServiceManager.T, kotlin.String, , kotlin.collections.List(()))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction3((pl.treksoft.kvision.remote.KVServiceManager.T, ((pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1)), ((pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2)), kotlin.Unit)), kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction3((pl.treksoft.kvision.remote.KVServiceManager.T, ((pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1)), ((pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2)), kotlin.Unit)), kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/call.html"><span class="keyword">fun </span><span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/calls.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">calls</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/counter.html"><span class="keyword">var </span><span class="identifier">counter</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/delete-requests.html"><span class="keyword">val </span><span class="identifier">deleteRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/get-calls.html"><span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/get-parameter.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getParameter</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$getParameter(kotlin.String)/str">str</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/get-parameter.html#T"><span class="identifier">T</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/get-requests.html"><span class="keyword">val </span><span class="identifier">getRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/-l-o-g.html"><span class="keyword">val </span><span class="identifier">LOG</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/mapper.html"><span class="keyword">val </span><span class="identifier">mapper</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
@@ -5778,6 +5754,26 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/routes.html"><span class="keyword">val </span><span class="identifier">routes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/service-class.html"><span class="keyword">val </span><span class="identifier">serviceClass</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html"><span class="identifier">KClass</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/web-socket-requests.html"><span class="keyword">val </span><span class="identifier">webSocketRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/web-sockets-requests.html"><span class="keyword">val </span><span class="identifier">webSocketsRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">KVWebSocketConfig</span></a></a><br/>
+<ul>
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Module Contents</title>
+<link rel="stylesheet" href="../style.css">
+</HEAD>
+<BODY>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/-init-.html"><span class="identifier">KVWebSocketConfig</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/application-context.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">applicationContext</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/register-web-socket-handlers.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">registerWebSocketHandlers</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVWebSocketConfig$registerWebSocketHandlers()/registry">registry</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/route-interceptor.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">routeInterceptor</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/services.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">services</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html"><span class="identifier">KVServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/socket-handler.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">socketHandler</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/web-socket-session.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">webSocketSession</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -6119,20 +6115,6 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-main-module/index.html"><span class="keyword">class </span><span class="identifier">MainModule</span></a></a><br/>
-<ul>
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>Module Contents</title>
-<link rel="stylesheet" href="../style.css">
-</HEAD>
-<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-main-module/-init-.html"><span class="identifier">MainModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.MainModule$<init>()/application">application</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-main-module/configure.html"><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-</BODY>
-</HTML>
-</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.electron/-media-flags/index.html"><span class="keyword">external</span> <span class="keyword">interface </span><span class="identifier">MediaFlags</span></a></a><br/>
<ul>
<HTML>
@@ -11051,6 +11033,19 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-web-socket-session-holder/index.html"><span class="keyword">object </span><span class="identifier">WebSocketSessionHolder</span></a></a><br/>
+<ul>
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Module Contents</title>
+<link rel="stylesheet" href="../style.css">
+</HEAD>
+<BODY>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-web-socket-session-holder/web-socket-session.html"><span class="keyword">var </span><span class="identifier">webSocketSession</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.electron/-web-source/index.html"><span class="keyword">external</span> <span class="keyword">interface </span><span class="identifier">WebSource</span></a></a><br/>
<ul>
<HTML>
@@ -11382,20 +11377,6 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-ws-session-module/index.html"><span class="keyword">class </span><span class="identifier">WsSessionModule</span></a></a><br/>
-<ul>
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>Module Contents</title>
-<link rel="stylesheet" href="../style.css">
-</HEAD>
-<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-ws-session-module/-init-.html"><span class="identifier">WsSessionModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.WsSessionModule$<init>()/webSocketSession">webSocketSession</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-ws-session-module/configure.html"><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-</BODY>
-</HTML>
-</ul>
</BODY>
</HTML>
</ul>
@@ -22397,20 +22378,6 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-module/index.html"><span class="keyword">class </span><span class="identifier">CallModule</span></a></a><br/>
-<ul>
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>Module Contents</title>
-<link rel="stylesheet" href="../style.css">
-</HEAD>
-<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-module/-init-.html"><span class="identifier">CallModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallModule$<init>()/call">call</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-call-module/configure.html"><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-</BODY>
-</HTML>
-</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-credentials/index.html"><span class="keyword">data</span> <span class="keyword">class </span><span class="identifier">Credentials</span></a></a><br/>
<ul>
<HTML>
@@ -22426,7 +22393,7 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/index.html"><span class="keyword">class </span><span class="identifier">DummyWebSocketServerSession</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DummyWebSocketSession</span></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -22435,30 +22402,24 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/-init-.html"><span class="identifier">DummyWebSocketServerSession</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/call.html"><span class="keyword">val </span><span class="identifier">call</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/close.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketServerSession$close(kotlin.Throwable)/cause">cause</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html"><span class="identifier">Throwable</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/coroutine-context.html"><span class="keyword">val </span><span class="identifier">coroutineContext</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html"><span class="identifier">CoroutineContext</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/flush.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">flush</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/incoming.html"><span class="keyword">val </span><span class="identifier">incoming</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/masking.html"><span class="keyword">var </span><span class="identifier">masking</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/max-frame-size.html"><span class="keyword">var </span><span class="identifier">maxFrameSize</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html"><span class="identifier">Long</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/outgoing.html"><span class="keyword">val </span><span class="identifier">outgoing</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-server-session/terminate.html"><span class="keyword">fun </span><span class="identifier">terminate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-</BODY>
-</HTML>
-</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-ws-session-module/index.html"><span class="keyword">class </span><span class="identifier">DummyWsSessionModule</span></a></a><br/>
-<ul>
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>Module Contents</title>
-<link rel="stylesheet" href="../style.css">
-</HEAD>
-<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-ws-session-module/-init-.html"><span class="identifier">DummyWsSessionModule</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-ws-session-module/configure.html"><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/-init-.html"><span class="identifier">DummyWebSocketSession</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/close.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/close.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$close()/status">status</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-accepted-protocol.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getAcceptedProtocol</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-attributes.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getAttributes</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-binary-message-size-limit.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getBinaryMessageSizeLimit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-extensions.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getExtensions</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-handshake-headers.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getHandshakeHeaders</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-id.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getId</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-local-address.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getLocalAddress</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html"><span class="identifier">InetSocketAddress</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-principal.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getPrincipal</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/security/Principal.html"><span class="identifier">Principal</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-remote-address.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getRemoteAddress</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html"><span class="identifier">InetSocketAddress</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-text-message-size-limit.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getTextMessageSizeLimit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/get-uri.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getUri</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/URI.html"><span class="identifier">URI</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/is-open.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">isOpen</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/send-message.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">sendMessage</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$sendMessage((()))/message">message</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/set-binary-message-size-limit.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setBinaryMessageSizeLimit</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$setBinaryMessageSizeLimit(kotlin.Int)/messageSizeLimit">messageSizeLimit</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-dummy-web-socket-session/set-text-message-size-limit.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setTextMessageSizeLimit</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$setTextMessageSizeLimit(kotlin.Int)/messageSizeLimit">messageSizeLimit</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -22481,6 +22442,7 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v_-r-o-u-t-e_-i-d_-a-t-t-r-i-b-u-t-e.html"><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">KV_ROUTE_ID_ATTRIBUTE</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-controller/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">KVController</span></a></a><br/>
<ul>
<HTML>
@@ -22538,8 +22500,6 @@
</HEAD>
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/-init-.html"><span class="identifier">KVServiceManager</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$<init>(kotlin.reflect.KClass((pl.treksoft.kvision.remote.KVServiceManager.T)))/serviceClass">serviceClass</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html"><span class="identifier">KClass</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/add-route.html"><span class="keyword">fun </span><span class="identifier">addRoute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/add-route.html"><span class="keyword">fun </span><span class="identifier">addRoute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction1((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction1((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction1((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction2((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR"><span class="identifier">PAR</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction2((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction2((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction3((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction3((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction3((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
@@ -22548,12 +22508,10 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR3</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR4</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR5</span><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">RET</span><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction6((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR3, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR4, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR5, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR3"><span class="identifier">PAR3</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR4"><span class="identifier">PAR4</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR5"><span class="identifier">PAR5</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#RET"><span class="identifier">RET</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction6((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR3, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR4, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR5, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction6((pl.treksoft.kvision.remote.KVServiceManager.T, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR3, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR4, pl.treksoft.kvision.remote.KVServiceManager.bind.PAR5, pl.treksoft.kvision.remote.KVServiceManager.bind.RET)), pl.treksoft.kvision.remote.HttpMethod, kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">fun </span><span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.Function3((pl.treksoft.kvision.remote.KVServiceManager.T, kotlin.String, , kotlin.collections.List(()))))/function">function</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html"><span class="keyword">protected</span> <span class="keyword">actual</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR1</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="keyword">reified</span>&nbsp;<span class="identifier">PAR2</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">bind</span><span class="symbol">(</span><span class="keyword">noinline</span> <span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction3((pl.treksoft.kvision.remote.KVServiceManager.T, ((pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1)), ((pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2)), kotlin.Unit)), kotlin.String)/function">function</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR1"><span class="identifier">PAR1</span></a><span class="symbol">&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/bind.html#PAR2"><span class="identifier">PAR2</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$bind(kotlin.coroutines.SuspendFunction3((pl.treksoft.kvision.remote.KVServiceManager.T, ((pl.treksoft.kvision.remote.KVServiceManager.bind.PAR1)), ((pl.treksoft.kvision.remote.KVServiceManager.bind.PAR2)), kotlin.Unit)), kotlin.String)/route">route</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/call.html"><span class="keyword">fun </span><span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/calls.html"><span class="keyword">protected</span> <span class="keyword">val </span><span class="identifier">calls</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/counter.html"><span class="keyword">var </span><span class="identifier">counter</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/delete-requests.html"><span class="keyword">val </span><span class="identifier">deleteRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/get-calls.html"><span class="keyword">fun </span><span class="identifier">getCalls</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/get-parameter.html"><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getParameter</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$getParameter(kotlin.String)/str">str</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/get-parameter.html#T"><span class="identifier">T</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/get-requests.html"><span class="keyword">val </span><span class="identifier">getRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/-l-o-g.html"><span class="keyword">val </span><span class="identifier">LOG</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/mapper.html"><span class="keyword">val </span><span class="identifier">mapper</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
@@ -22563,10 +22521,11 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/routes.html"><span class="keyword">val </span><span class="identifier">routes</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/service-class.html"><span class="keyword">val </span><span class="identifier">serviceClass</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/index.html"><span class="identifier">KClass</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/web-socket-requests.html"><span class="keyword">val </span><span class="identifier">webSocketRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-service-manager/web-sockets-requests.html"><span class="keyword">val </span><span class="identifier">webSocketsRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/index.html"><span class="keyword">class </span><span class="identifier">LoginService</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">KVWebSocketConfig</span></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -22575,14 +22534,17 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/-init-.html"><span class="identifier">LoginService</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.LoginService$<init>(kotlin.String)/loginEndpoint">loginEndpoint</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/login.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.LoginService$login(pl.treksoft.kvision.remote.Credentials)/credentials">credentials</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-credentials/index.html"><span class="identifier">Credentials</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/login-agent.html"><span class="keyword">val </span><span class="identifier">loginAgent</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-call-agent/index.html"><span class="identifier">CallAgent</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/login-endpoint.html"><span class="keyword">val </span><span class="identifier">loginEndpoint</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/-init-.html"><span class="identifier">KVWebSocketConfig</span><span class="symbol">(</span><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/application-context.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">applicationContext</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/register-web-socket-handlers.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">registerWebSocketHandlers</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVWebSocketConfig$registerWebSocketHandlers()/registry">registry</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/route-interceptor.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">routeInterceptor</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/services.html"><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">services</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.remote/-k-v-service-manager/index.html"><span class="identifier">KVServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/socket-handler.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">socketHandler</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-k-v-web-socket-config/web-socket-session.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">webSocketSession</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-main-module/index.html"><span class="keyword">class </span><span class="identifier">MainModule</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/index.html"><span class="keyword">class </span><span class="identifier">LoginService</span></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -22591,8 +22553,10 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-main-module/-init-.html"><span class="identifier">MainModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.MainModule$<init>()/application">application</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-main-module/configure.html"><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/-init-.html"><span class="identifier">LoginService</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.LoginService$<init>(kotlin.String)/loginEndpoint">loginEndpoint</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/login.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">login</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.LoginService$login(pl.treksoft.kvision.remote.Credentials)/credentials">credentials</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.remote/-credentials/index.html"><span class="identifier">Credentials</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/login-agent.html"><span class="keyword">val </span><span class="identifier">loginAgent</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/-call-agent/index.html"><span class="identifier">CallAgent</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-login-service/login-endpoint.html"><span class="keyword">val </span><span class="identifier">loginEndpoint</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></a></a><br/>
</BODY>
</HTML>
</ul>
@@ -22715,10 +22679,7 @@
</BODY>
</HTML>
</ul>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/with-profile.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">withProfile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$withProfile(, kotlin.coroutines.SuspendFunction1((pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.withProfile.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-profile/index.html"><span class="identifier">Profile</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/with-profile.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/with-profile.html#RESP"><span class="identifier">RESP</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/with-profile.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <span class="identifier">withProfile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$withProfile(kotlin.coroutines.SuspendFunction1((pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.withProfile.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-profile/index.html"><span class="identifier">Profile</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/with-profile.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/with-profile.html#RESP"><span class="identifier">RESP</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/write-j-s-o-n.html"><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">writeJSON</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$writeJSON(, kotlin.String)/json">json</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-ws-session-module/index.html"><span class="keyword">class </span><span class="identifier">WsSessionModule</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-web-socket-session-holder/index.html"><span class="keyword">object </span><span class="identifier">WebSocketSessionHolder</span></a></a><br/>
<ul>
<HTML>
<HEAD>
@@ -22727,11 +22688,12 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-ws-session-module/-init-.html"><span class="identifier">WsSessionModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.WsSessionModule$<init>()/webSocketSession">webSocketSession</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-ws-session-module/configure.html"><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/-web-socket-session-holder/web-socket-session.html"><span class="keyword">var </span><span class="identifier">webSocketSession</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></a></a><br/>
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/with-profile.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">withProfile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$withProfile(, kotlin.coroutines.SuspendFunction1((pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.withProfile.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-profile/index.html"><span class="identifier">Profile</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/with-profile.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/with-profile.html#RESP"><span class="identifier">RESP</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.remote/with-profile.html"><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">RESP</span><span class="symbol">&gt;</span> <span class="identifier">withProfile</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$withProfile(kotlin.coroutines.SuspendFunction1((pl.treksoft.kvision.remote.Profile, pl.treksoft.kvision.remote.withProfile.RESP)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><a href="pl.treksoft.kvision.remote/-profile/index.html"><span class="identifier">Profile</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.remote/with-profile.html#RESP"><span class="identifier">RESP</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.remote/with-profile.html#RESP"><span class="identifier">RESP</span></a></a></a><br/>
</BODY>
</HTML>
</ul>
diff --git a/api/pl.treksoft.kvision.remote/-call-module/-init-.html b/api/pl.treksoft.kvision.remote/-call-module/-init-.html
deleted file mode 100644
index 01125757..00000000
--- a/api/pl.treksoft.kvision.remote/-call-module/-init-.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>CallModule.<init> - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">CallModule</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
-<br/>
-<h1>&lt;init&gt;</h1>
-<a name="pl.treksoft.kvision.remote.CallModule$&lt;init&gt;()"></a>
-<code><span class="identifier">CallModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallModule$<init>()/call">call</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-call-module/configure.html b/api/pl.treksoft.kvision.remote/-call-module/configure.html
deleted file mode 100644
index 8a72a68c..00000000
--- a/api/pl.treksoft.kvision.remote/-call-module/configure.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>CallModule.configure - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">CallModule</a>&nbsp;/&nbsp;<a href="./configure.html">configure</a><br/>
-<br/>
-<h1>configure</h1>
-<a name="pl.treksoft.kvision.remote.CallModule$configure()"></a>
-<code><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-call-module/index.html b/api/pl.treksoft.kvision.remote/-call-module/index.html
deleted file mode 100644
index 58c4b70d..00000000
--- a/api/pl.treksoft.kvision.remote/-call-module/index.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>CallModule - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">CallModule</a><br/>
-<br/>
-<h1>CallModule</h1>
-<code><span class="keyword">class </span><span class="identifier">CallModule</span></code>
-<h3>Constructors</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="-init-.html">&lt;init&gt;</a></p>
-</td>
-<td>
-<code><span class="identifier">CallModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.CallModule$<init>()/call">call</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></code></td>
-</tr>
-</tbody>
-</table>
-<h3>Functions</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="configure.html">configure</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
-</tr>
-</tbody>
-</table>
-<h3>Extension Functions</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html">createInstance</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">createInstance</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.utils$createInstance(kotlin.Any, kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html#T"><span class="identifier">T</span></a></code>
-<p>Helper function for creating JavaScript objects from dynamic constructors.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/-init-.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/-init-.html
deleted file mode 100644
index d6b72098..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/-init-.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession.<init> - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketServerSession</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
-<br/>
-<h1>&lt;init&gt;</h1>
-<a name="pl.treksoft.kvision.remote.DummyWebSocketServerSession$&lt;init&gt;()"></a>
-<code><span class="identifier">DummyWebSocketServerSession</span><span class="symbol">(</span><span class="symbol">)</span></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/call.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/call.html
deleted file mode 100644
index d316d3b5..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/call.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession.call - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketServerSession</a>&nbsp;/&nbsp;<a href="./call.html">call</a><br/>
-<br/>
-<h1>call</h1>
-<a name="pl.treksoft.kvision.remote.DummyWebSocketServerSession$call"></a>
-<code><span class="keyword">val </span><span class="identifier">call</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/close.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/close.html
deleted file mode 100644
index 4217b898..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/close.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession.close - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketServerSession</a>&nbsp;/&nbsp;<a href="./close.html">close</a><br/>
-<br/>
-<h1>close</h1>
-<a name="pl.treksoft.kvision.remote.DummyWebSocketServerSession$close(kotlin.Throwable)"></a>
-<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketServerSession$close(kotlin.Throwable)/cause">cause</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html"><span class="identifier">Throwable</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/coroutine-context.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/coroutine-context.html
deleted file mode 100644
index 5806670c..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/coroutine-context.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession.coroutineContext - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketServerSession</a>&nbsp;/&nbsp;<a href="./coroutine-context.html">coroutineContext</a><br/>
-<br/>
-<h1>coroutineContext</h1>
-<a name="pl.treksoft.kvision.remote.DummyWebSocketServerSession$coroutineContext"></a>
-<code><span class="keyword">val </span><span class="identifier">coroutineContext</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html"><span class="identifier">CoroutineContext</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/flush.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/flush.html
deleted file mode 100644
index 1424d570..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/flush.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession.flush - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketServerSession</a>&nbsp;/&nbsp;<a href="./flush.html">flush</a><br/>
-<br/>
-<h1>flush</h1>
-<a name="pl.treksoft.kvision.remote.DummyWebSocketServerSession$flush()"></a>
-<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">flush</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/incoming.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/incoming.html
deleted file mode 100644
index 967b31a4..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/incoming.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession.incoming - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketServerSession</a>&nbsp;/&nbsp;<a href="./incoming.html">incoming</a><br/>
-<br/>
-<h1>incoming</h1>
-<a name="pl.treksoft.kvision.remote.DummyWebSocketServerSession$incoming"></a>
-<code><span class="keyword">val </span><span class="identifier">incoming</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/index.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/index.html
deleted file mode 100644
index 1db97071..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/index.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">DummyWebSocketServerSession</a><br/>
-<br/>
-<h1>DummyWebSocketServerSession</h1>
-<code><span class="keyword">class </span><span class="identifier">DummyWebSocketServerSession</span></code>
-<h3>Constructors</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="-init-.html">&lt;init&gt;</a></p>
-</td>
-<td>
-<code><span class="identifier">DummyWebSocketServerSession</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
-</tr>
-</tbody>
-</table>
-<h3>Properties</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="call.html">call</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><span class="identifier">call</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
-</tr>
-<tr>
-<td>
-<p><a href="coroutine-context.html">coroutineContext</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><span class="identifier">coroutineContext</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.coroutines/-coroutine-context/index.html"><span class="identifier">CoroutineContext</span></a></code></td>
-</tr>
-<tr>
-<td>
-<p><a href="incoming.html">incoming</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><span class="identifier">incoming</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></code></td>
-</tr>
-<tr>
-<td>
-<p><a href="masking.html">masking</a></p>
-</td>
-<td>
-<code><span class="keyword">var </span><span class="identifier">masking</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
-</tr>
-<tr>
-<td>
-<p><a href="max-frame-size.html">maxFrameSize</a></p>
-</td>
-<td>
-<code><span class="keyword">var </span><span class="identifier">maxFrameSize</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html"><span class="identifier">Long</span></a></code></td>
-</tr>
-<tr>
-<td>
-<p><a href="outgoing.html">outgoing</a></p>
-</td>
-<td>
-<code><span class="keyword">val </span><span class="identifier">outgoing</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></code></td>
-</tr>
-</tbody>
-</table>
-<h3>Functions</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="close.html">close</a></p>
-</td>
-<td>
-<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketServerSession$close(kotlin.Throwable)/cause">cause</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-throwable/index.html"><span class="identifier">Throwable</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
-</tr>
-<tr>
-<td>
-<p><a href="flush.html">flush</a></p>
-</td>
-<td>
-<code><span class="keyword">suspend</span> <span class="keyword">fun </span><span class="identifier">flush</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
-</tr>
-<tr>
-<td>
-<p><a href="terminate.html">terminate</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="identifier">terminate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
-</tr>
-</tbody>
-</table>
-<h3>Extension Functions</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html">createInstance</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">createInstance</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.utils$createInstance(kotlin.Any, kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html#T"><span class="identifier">T</span></a></code>
-<p>Helper function for creating JavaScript objects from dynamic constructors.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/masking.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/masking.html
deleted file mode 100644
index e607d664..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/masking.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession.masking - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketServerSession</a>&nbsp;/&nbsp;<a href="./masking.html">masking</a><br/>
-<br/>
-<h1>masking</h1>
-<a name="pl.treksoft.kvision.remote.DummyWebSocketServerSession$masking"></a>
-<code><span class="keyword">var </span><span class="identifier">masking</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/max-frame-size.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/max-frame-size.html
deleted file mode 100644
index 5933117b..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/max-frame-size.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession.maxFrameSize - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketServerSession</a>&nbsp;/&nbsp;<a href="./max-frame-size.html">maxFrameSize</a><br/>
-<br/>
-<h1>maxFrameSize</h1>
-<a name="pl.treksoft.kvision.remote.DummyWebSocketServerSession$maxFrameSize"></a>
-<code><span class="keyword">var </span><span class="identifier">maxFrameSize</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-long/index.html"><span class="identifier">Long</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/outgoing.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/outgoing.html
deleted file mode 100644
index 84f13f71..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/outgoing.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession.outgoing - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketServerSession</a>&nbsp;/&nbsp;<a href="./outgoing.html">outgoing</a><br/>
-<br/>
-<h1>outgoing</h1>
-<a name="pl.treksoft.kvision.remote.DummyWebSocketServerSession$outgoing"></a>
-<code><span class="keyword">val </span><span class="identifier">outgoing</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/terminate.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/terminate.html
deleted file mode 100644
index 50b685dc..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-web-socket-server-session/terminate.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWebSocketServerSession.terminate - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketServerSession</a>&nbsp;/&nbsp;<a href="./terminate.html">terminate</a><br/>
-<br/>
-<h1>terminate</h1>
-<a name="pl.treksoft.kvision.remote.DummyWebSocketServerSession$terminate()"></a>
-<code><span class="keyword">fun </span><span class="identifier">terminate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/-init-.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/-init-.html
new file mode 100644
index 00000000..e850f251
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/-init-.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$&lt;init&gt;()"></a>
+<code><span class="identifier">DummyWebSocketSession</span><span class="symbol">(</span><span class="symbol">)</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/close.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/close.html
new file mode 100644
index 00000000..ef2ae5b5
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/close.html
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.close - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./close.html">close</a><br/>
+<br/>
+<h1>close</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$close()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$close()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$close()/status">status</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-accepted-protocol.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-accepted-protocol.html
new file mode 100644
index 00000000..a157ed79
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-accepted-protocol.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getAcceptedProtocol - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-accepted-protocol.html">getAcceptedProtocol</a><br/>
+<br/>
+<h1>getAcceptedProtocol</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getAcceptedProtocol()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getAcceptedProtocol</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-attributes.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-attributes.html
new file mode 100644
index 00000000..7ead65c0
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-attributes.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getAttributes - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-attributes.html">getAttributes</a><br/>
+<br/>
+<h1>getAttributes</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getAttributes()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getAttributes</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-binary-message-size-limit.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-binary-message-size-limit.html
new file mode 100644
index 00000000..3a261432
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-binary-message-size-limit.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getBinaryMessageSizeLimit - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-binary-message-size-limit.html">getBinaryMessageSizeLimit</a><br/>
+<br/>
+<h1>getBinaryMessageSizeLimit</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getBinaryMessageSizeLimit()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getBinaryMessageSizeLimit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-extensions.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-extensions.html
new file mode 100644
index 00000000..0e24f2ab
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-extensions.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getExtensions - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-extensions.html">getExtensions</a><br/>
+<br/>
+<h1>getExtensions</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getExtensions()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getExtensions</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-handshake-headers.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-handshake-headers.html
new file mode 100644
index 00000000..bfed88a2
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-handshake-headers.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getHandshakeHeaders - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-handshake-headers.html">getHandshakeHeaders</a><br/>
+<br/>
+<h1>getHandshakeHeaders</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getHandshakeHeaders()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getHandshakeHeaders</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-id.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-id.html
new file mode 100644
index 00000000..a3cbf587
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-id.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getId - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-id.html">getId</a><br/>
+<br/>
+<h1>getId</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getId()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getId</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-local-address.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-local-address.html
new file mode 100644
index 00000000..677bf3fd
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-local-address.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getLocalAddress - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-local-address.html">getLocalAddress</a><br/>
+<br/>
+<h1>getLocalAddress</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getLocalAddress()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getLocalAddress</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html"><span class="identifier">InetSocketAddress</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-principal.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-principal.html
new file mode 100644
index 00000000..e0f8f5e5
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-principal.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getPrincipal - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-principal.html">getPrincipal</a><br/>
+<br/>
+<h1>getPrincipal</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getPrincipal()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getPrincipal</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/security/Principal.html"><span class="identifier">Principal</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-remote-address.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-remote-address.html
new file mode 100644
index 00000000..9a4553d3
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-remote-address.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getRemoteAddress - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-remote-address.html">getRemoteAddress</a><br/>
+<br/>
+<h1>getRemoteAddress</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getRemoteAddress()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getRemoteAddress</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html"><span class="identifier">InetSocketAddress</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-text-message-size-limit.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-text-message-size-limit.html
new file mode 100644
index 00000000..3d75c92b
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-text-message-size-limit.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getTextMessageSizeLimit - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-text-message-size-limit.html">getTextMessageSizeLimit</a><br/>
+<br/>
+<h1>getTextMessageSizeLimit</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getTextMessageSizeLimit()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getTextMessageSizeLimit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-uri.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-uri.html
new file mode 100644
index 00000000..e49c0a4a
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/get-uri.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.getUri - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./get-uri.html">getUri</a><br/>
+<br/>
+<h1>getUri</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$getUri()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getUri</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/URI.html"><span class="identifier">URI</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/index.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/index.html
new file mode 100644
index 00000000..082ff9d0
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/index.html
@@ -0,0 +1,157 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">DummyWebSocketSession</a><br/>
+<br/>
+<h1>DummyWebSocketSession</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DummyWebSocketSession</span></code>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">DummyWebSocketSession</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="close.html">close</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">close</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$close()/status">status</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-accepted-protocol.html">getAcceptedProtocol</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getAcceptedProtocol</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-attributes.html">getAttributes</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getAttributes</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-binary-message-size-limit.html">getBinaryMessageSizeLimit</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getBinaryMessageSizeLimit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-extensions.html">getExtensions</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getExtensions</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-list/index.html"><span class="identifier">MutableList</span></a><span class="symbol">&lt;</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-handshake-headers.html">getHandshakeHeaders</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getHandshakeHeaders</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-id.html">getId</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getId</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-local-address.html">getLocalAddress</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getLocalAddress</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html"><span class="identifier">InetSocketAddress</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-principal.html">getPrincipal</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getPrincipal</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/security/Principal.html"><span class="identifier">Principal</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-remote-address.html">getRemoteAddress</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getRemoteAddress</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/InetSocketAddress.html"><span class="identifier">InetSocketAddress</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-text-message-size-limit.html">getTextMessageSizeLimit</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getTextMessageSizeLimit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="get-uri.html">getUri</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getUri</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://docs.oracle.com/javase/6/docs/api/java/net/URI.html"><span class="identifier">URI</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="is-open.html">isOpen</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">isOpen</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="send-message.html">sendMessage</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">sendMessage</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$sendMessage((()))/message">message</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="set-binary-message-size-limit.html">setBinaryMessageSizeLimit</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setBinaryMessageSizeLimit</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$setBinaryMessageSizeLimit(kotlin.Int)/messageSizeLimit">messageSizeLimit</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="set-text-message-size-limit.html">setTextMessageSizeLimit</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setTextMessageSizeLimit</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$setTextMessageSizeLimit(kotlin.Int)/messageSizeLimit">messageSizeLimit</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Extension Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html">createInstance</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">createInstance</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.utils$createInstance(kotlin.Any, kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html#T"><span class="identifier">T</span></a></code>
+<p>Helper function for creating JavaScript objects from dynamic constructors.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/is-open.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/is-open.html
new file mode 100644
index 00000000..b98d5183
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/is-open.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.isOpen - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./is-open.html">isOpen</a><br/>
+<br/>
+<h1>isOpen</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$isOpen()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">isOpen</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/send-message.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/send-message.html
new file mode 100644
index 00000000..255e3b59
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/send-message.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.sendMessage - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./send-message.html">sendMessage</a><br/>
+<br/>
+<h1>sendMessage</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$sendMessage((()))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">sendMessage</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$sendMessage((()))/message">message</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><span class="keyword">out</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/set-binary-message-size-limit.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/set-binary-message-size-limit.html
new file mode 100644
index 00000000..384d36ea
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/set-binary-message-size-limit.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.setBinaryMessageSizeLimit - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./set-binary-message-size-limit.html">setBinaryMessageSizeLimit</a><br/>
+<br/>
+<h1>setBinaryMessageSizeLimit</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$setBinaryMessageSizeLimit(kotlin.Int)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setBinaryMessageSizeLimit</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$setBinaryMessageSizeLimit(kotlin.Int)/messageSizeLimit">messageSizeLimit</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/set-text-message-size-limit.html b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/set-text-message-size-limit.html
new file mode 100644
index 00000000..1b5b8f4a
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-dummy-web-socket-session/set-text-message-size-limit.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>DummyWebSocketSession.setTextMessageSizeLimit - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWebSocketSession</a>&nbsp;/&nbsp;<a href="./set-text-message-size-limit.html">setTextMessageSizeLimit</a><br/>
+<br/>
+<h1>setTextMessageSizeLimit</h1>
+<a name="pl.treksoft.kvision.remote.DummyWebSocketSession$setTextMessageSizeLimit(kotlin.Int)"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setTextMessageSizeLimit</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.DummyWebSocketSession$setTextMessageSizeLimit(kotlin.Int)/messageSizeLimit">messageSizeLimit</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-ws-session-module/-init-.html b/api/pl.treksoft.kvision.remote/-dummy-ws-session-module/-init-.html
deleted file mode 100644
index 7fe31a1b..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-ws-session-module/-init-.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWsSessionModule.<init> - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWsSessionModule</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
-<br/>
-<h1>&lt;init&gt;</h1>
-<a name="pl.treksoft.kvision.remote.DummyWsSessionModule$&lt;init&gt;()"></a>
-<code><span class="identifier">DummyWsSessionModule</span><span class="symbol">(</span><span class="symbol">)</span></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-ws-session-module/configure.html b/api/pl.treksoft.kvision.remote/-dummy-ws-session-module/configure.html
deleted file mode 100644
index 8d27d941..00000000
--- a/api/pl.treksoft.kvision.remote/-dummy-ws-session-module/configure.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>DummyWsSessionModule.configure - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">DummyWsSessionModule</a>&nbsp;/&nbsp;<a href="./configure.html">configure</a><br/>
-<br/>
-<h1>configure</h1>
-<a name="pl.treksoft.kvision.remote.DummyWsSessionModule$configure()"></a>
-<code><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-controller/-init-.html b/api/pl.treksoft.kvision.remote/-k-v-controller/-init-.html
index 4efad9cb..91e5c7fa 100644
--- a/api/pl.treksoft.kvision.remote/-k-v-controller/-init-.html
+++ b/api/pl.treksoft.kvision.remote/-k-v-controller/-init-.html
@@ -10,5 +10,6 @@
<h1>&lt;init&gt;</h1>
<a name="pl.treksoft.kvision.remote.KVController$&lt;init&gt;()"></a>
<code><span class="identifier">KVController</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Controller for handling automatic routes.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-controller/index.html b/api/pl.treksoft.kvision.remote/-k-v-controller/index.html
index 8e8da5eb..59f9d3a6 100644
--- a/api/pl.treksoft.kvision.remote/-k-v-controller/index.html
+++ b/api/pl.treksoft.kvision.remote/-k-v-controller/index.html
@@ -9,6 +9,7 @@
<br/>
<h1>KVController</h1>
<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">KVController</span></code>
+<p>Controller for handling automatic routes.</p>
<h3>Constructors</h3>
<table>
<tbody>
@@ -17,7 +18,9 @@
<p><a href="-init-.html">&lt;init&gt;</a></p>
</td>
<td>
-<code><span class="identifier">KVController</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
+<code><span class="identifier">KVController</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Controller for handling automatic routes.</p>
+</td>
</tr>
</tbody>
</table>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-service-manager/add-route.html b/api/pl.treksoft.kvision.remote/-k-v-service-manager/add-route.html
deleted file mode 100644
index 4f4fd2b4..00000000
--- a/api/pl.treksoft.kvision.remote/-k-v-service-manager/add-route.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>KVServiceManager.addRoute - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVServiceManager</a>&nbsp;/&nbsp;<a href="./add-route.html">addRoute</a><br/>
-<br/>
-<h1>addRoute</h1>
-<a name="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))"></a>
-<code><span class="keyword">fun </span><span class="identifier">addRoute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
-<a name="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))"></a>
-<code><span class="keyword">fun </span><span class="identifier">addRoute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-service-manager/call.html b/api/pl.treksoft.kvision.remote/-k-v-service-manager/call.html
deleted file mode 100644
index d5959ccd..00000000
--- a/api/pl.treksoft.kvision.remote/-k-v-service-manager/call.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>KVServiceManager.call - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVServiceManager</a>&nbsp;/&nbsp;<a href="./call.html">call</a><br/>
-<br/>
-<h1>call</h1>
-<a name="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))"></a>
-<code><span class="keyword">fun </span><span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-service-manager/get-parameter.html b/api/pl.treksoft.kvision.remote/-k-v-service-manager/get-parameter.html
deleted file mode 100644
index 60238eef..00000000
--- a/api/pl.treksoft.kvision.remote/-k-v-service-manager/get-parameter.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>KVServiceManager.getParameter - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVServiceManager</a>&nbsp;/&nbsp;<a href="./get-parameter.html">getParameter</a><br/>
-<br/>
-<h1>getParameter</h1>
-<a name="pl.treksoft.kvision.remote.KVServiceManager$getParameter(kotlin.String)"></a>
-<code><span class="keyword">protected</span> <span class="keyword">inline</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="keyword">reified</span>&nbsp;<span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getParameter</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$getParameter(kotlin.String)/str">str</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="get-parameter.html#T"><span class="identifier">T</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-service-manager/index.html b/api/pl.treksoft.kvision.remote/-k-v-service-manager/index.html
index 09d40c51..f1f38b51 100644
--- a/api/pl.treksoft.kvision.remote/-k-v-service-manager/index.html
+++ b/api/pl.treksoft.kvision.remote/-k-v-service-manager/index.html
@@ -104,19 +104,18 @@
<td>
<code><span class="keyword">val </span><span class="identifier">webSocketRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
</tr>
-</tbody>
-</table>
-<h3>Functions</h3>
-<table>
-<tbody>
<tr>
<td>
-<p><a href="add-route.html">addRoute</a></p>
+<p><a href="web-sockets-requests.html">webSocketsRequests</a></p>
</td>
<td>
-<code><span class="keyword">fun </span><span class="identifier">addRoute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.coroutines.SuspendFunction2((((kotlin.Unit, )), , )))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="keyword">suspend </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
-<code><span class="keyword">fun </span><span class="identifier">addRoute</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$addRoute(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function3((, , , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+<code><span class="keyword">val </span><span class="identifier">webSocketsRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
<tr>
<td>
<p><a href="bind.html">bind</a></p>
@@ -137,13 +136,6 @@
</tr>
<tr>
<td>
-<p><a href="call.html">call</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="identifier">call</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/method">method</span><span class="symbol">:</span>&nbsp;<span class="identifier">HttpMethod</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/path">path</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$call(pl.treksoft.kvision.remote.HttpMethod, kotlin.String, kotlin.Function2((, , kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
-</tr>
-<tr>
-<td>
<p><a href="get-calls.html">getCalls</a></p>
</td>
<td>
@@ -151,13 +143,6 @@
<p>Returns the map of defined paths.</p>
</td>
</tr>
-<tr>
-<td>
-<p><a href="get-parameter.html">getParameter</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <span class="identifier">getParameter</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVServiceManager$getParameter(kotlin.String)/str">str</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">)</span><span class="symbol">: </span><a href="get-parameter.html#T"><span class="identifier">T</span></a></code></td>
-</tr>
</tbody>
</table>
<h3>Companion Object Properties</h3>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-service-manager/web-sockets-requests.html b/api/pl.treksoft.kvision.remote/-k-v-service-manager/web-sockets-requests.html
new file mode 100644
index 00000000..f27f974a
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-k-v-service-manager/web-sockets-requests.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVServiceManager.webSocketsRequests - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVServiceManager</a>&nbsp;/&nbsp;<a href="./web-sockets-requests.html">webSocketsRequests</a><br/>
+<br/>
+<h1>webSocketsRequests</h1>
+<a name="pl.treksoft.kvision.remote.KVServiceManager$webSocketsRequests"></a>
+<code><span class="keyword">val </span><span class="identifier">webSocketsRequests</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-mutable-map/index.html"><span class="identifier">MutableMap</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">,</span>&nbsp;<span class="keyword">suspend </span><span class="symbol">(</span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">,</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/-init-.html b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/-init-.html
new file mode 100644
index 00000000..e445cb05
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/-init-.html
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVWebSocketConfig.<init> - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVWebSocketConfig</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.remote.KVWebSocketConfig$&lt;init&gt;()"></a>
+<code><span class="identifier">KVWebSocketConfig</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Automatic websockets configuration.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/application-context.html b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/application-context.html
new file mode 100644
index 00000000..2ef3f390
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/application-context.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVWebSocketConfig.applicationContext - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVWebSocketConfig</a>&nbsp;/&nbsp;<a href="./application-context.html">applicationContext</a><br/>
+<br/>
+<h1>applicationContext</h1>
+<a name="pl.treksoft.kvision.remote.KVWebSocketConfig$applicationContext"></a>
+<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">applicationContext</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/index.html b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/index.html
new file mode 100644
index 00000000..1ca80257
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/index.html
@@ -0,0 +1,94 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVWebSocketConfig - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">KVWebSocketConfig</a><br/>
+<br/>
+<h1>KVWebSocketConfig</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">KVWebSocketConfig</span></code>
+<p>Automatic websockets configuration.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">KVWebSocketConfig</span><span class="symbol">(</span><span class="symbol">)</span></code>
+<p>Automatic websockets configuration.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="application-context.html">applicationContext</a></p>
+</td>
+<td>
+<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">applicationContext</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="services.html">services</a></p>
+</td>
+<td>
+<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">services</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../-k-v-service-manager/index.html"><span class="identifier">KVServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="register-web-socket-handlers.html">registerWebSocketHandlers</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">registerWebSocketHandlers</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVWebSocketConfig$registerWebSocketHandlers()/registry">registry</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="route-interceptor.html">routeInterceptor</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">routeInterceptor</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="socket-handler.html">socketHandler</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">socketHandler</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+<p><a href="web-socket-session.html">webSocketSession</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">webSocketSession</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Extension Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html">createInstance</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">createInstance</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.utils$createInstance(kotlin.Any, kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html#T"><span class="identifier">T</span></a></code>
+<p>Helper function for creating JavaScript objects from dynamic constructors.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/register-web-socket-handlers.html b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/register-web-socket-handlers.html
new file mode 100644
index 00000000..80d40bf2
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/register-web-socket-handlers.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVWebSocketConfig.registerWebSocketHandlers - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVWebSocketConfig</a>&nbsp;/&nbsp;<a href="./register-web-socket-handlers.html">registerWebSocketHandlers</a><br/>
+<br/>
+<h1>registerWebSocketHandlers</h1>
+<a name="pl.treksoft.kvision.remote.KVWebSocketConfig$registerWebSocketHandlers()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">registerWebSocketHandlers</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.KVWebSocketConfig$registerWebSocketHandlers()/registry">registry</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/route-interceptor.html b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/route-interceptor.html
new file mode 100644
index 00000000..18bca5a0
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/route-interceptor.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVWebSocketConfig.routeInterceptor - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVWebSocketConfig</a>&nbsp;/&nbsp;<a href="./route-interceptor.html">routeInterceptor</a><br/>
+<br/>
+<h1>routeInterceptor</h1>
+<a name="pl.treksoft.kvision.remote.KVWebSocketConfig$routeInterceptor()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">routeInterceptor</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/services.html b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/services.html
new file mode 100644
index 00000000..669aa7ed
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/services.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVWebSocketConfig.services - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVWebSocketConfig</a>&nbsp;/&nbsp;<a href="./services.html">services</a><br/>
+<br/>
+<h1>services</h1>
+<a name="pl.treksoft.kvision.remote.KVWebSocketConfig$services"></a>
+<code><span class="keyword">lateinit</span> <span class="keyword">var </span><span class="identifier">services</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../-k-v-service-manager/index.html"><span class="identifier">KVServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/socket-handler.html b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/socket-handler.html
new file mode 100644
index 00000000..95b9091d
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/socket-handler.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVWebSocketConfig.socketHandler - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVWebSocketConfig</a>&nbsp;/&nbsp;<a href="./socket-handler.html">socketHandler</a><br/>
+<br/>
+<h1>socketHandler</h1>
+<a name="pl.treksoft.kvision.remote.KVWebSocketConfig$socketHandler()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">socketHandler</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/web-socket-session.html b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/web-socket-session.html
new file mode 100644
index 00000000..93eb1f91
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-k-v-web-socket-config/web-socket-session.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KVWebSocketConfig.webSocketSession - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">KVWebSocketConfig</a>&nbsp;/&nbsp;<a href="./web-socket-session.html">webSocketSession</a><br/>
+<br/>
+<h1>webSocketSession</h1>
+<a name="pl.treksoft.kvision.remote.KVWebSocketConfig$webSocketSession()"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">webSocketSession</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-k-v_-r-o-u-t-e_-i-d_-a-t-t-r-i-b-u-t-e.html b/api/pl.treksoft.kvision.remote/-k-v_-r-o-u-t-e_-i-d_-a-t-t-r-i-b-u-t-e.html
new file mode 100644
index 00000000..4044b73e
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-k-v_-r-o-u-t-e_-i-d_-a-t-t-r-i-b-u-t-e.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>KV_ROUTE_ID_ATTRIBUTE - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./-k-v_-r-o-u-t-e_-i-d_-a-t-t-r-i-b-u-t-e.html">KV_ROUTE_ID_ATTRIBUTE</a><br/>
+<br/>
+<h1>KV_ROUTE_ID_ATTRIBUTE</h1>
+<a name="pl.treksoft.kvision.remote$KV_ROUTE_ID_ATTRIBUTE"></a>
+<code><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">KV_ROUTE_ID_ATTRIBUTE</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-main-module/-init-.html b/api/pl.treksoft.kvision.remote/-main-module/-init-.html
deleted file mode 100644
index 6c6b8317..00000000
--- a/api/pl.treksoft.kvision.remote/-main-module/-init-.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>MainModule.<init> - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">MainModule</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
-<br/>
-<h1>&lt;init&gt;</h1>
-<a name="pl.treksoft.kvision.remote.MainModule$&lt;init&gt;()"></a>
-<code><span class="identifier">MainModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.MainModule$<init>()/application">application</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-main-module/configure.html b/api/pl.treksoft.kvision.remote/-main-module/configure.html
deleted file mode 100644
index 07871bc5..00000000
--- a/api/pl.treksoft.kvision.remote/-main-module/configure.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>MainModule.configure - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">MainModule</a>&nbsp;/&nbsp;<a href="./configure.html">configure</a><br/>
-<br/>
-<h1>configure</h1>
-<a name="pl.treksoft.kvision.remote.MainModule$configure()"></a>
-<code><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-main-module/index.html b/api/pl.treksoft.kvision.remote/-main-module/index.html
deleted file mode 100644
index 8e1b5957..00000000
--- a/api/pl.treksoft.kvision.remote/-main-module/index.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>MainModule - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">MainModule</a><br/>
-<br/>
-<h1>MainModule</h1>
-<code><span class="keyword">class </span><span class="identifier">MainModule</span></code>
-<h3>Constructors</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="-init-.html">&lt;init&gt;</a></p>
-</td>
-<td>
-<code><span class="identifier">MainModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.MainModule$<init>()/application">application</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></code></td>
-</tr>
-</tbody>
-</table>
-<h3>Functions</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="configure.html">configure</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
-</tr>
-</tbody>
-</table>
-<h3>Extension Functions</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html">createInstance</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">createInstance</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.utils$createInstance(kotlin.Any, kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html#T"><span class="identifier">T</span></a></code>
-<p>Helper function for creating JavaScript objects from dynamic constructors.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-dummy-ws-session-module/index.html b/api/pl.treksoft.kvision.remote/-web-socket-session-holder/index.html
index 1a6f2b91..cca78b75 100644
--- a/api/pl.treksoft.kvision.remote/-dummy-ws-session-module/index.html
+++ b/api/pl.treksoft.kvision.remote/-web-socket-session-holder/index.html
@@ -1,35 +1,23 @@
<HTML>
<HEAD>
<meta charset="UTF-8">
-<title>DummyWsSessionModule - kvision</title>
+<title>WebSocketSessionHolder - kvision</title>
<link rel="stylesheet" href="../../../style.css">
</HEAD>
<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">DummyWsSessionModule</a><br/>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">WebSocketSessionHolder</a><br/>
<br/>
-<h1>DummyWsSessionModule</h1>
-<code><span class="keyword">class </span><span class="identifier">DummyWsSessionModule</span></code>
-<h3>Constructors</h3>
+<h1>WebSocketSessionHolder</h1>
+<code><span class="keyword">object </span><span class="identifier">WebSocketSessionHolder</span></code>
+<h3>Properties</h3>
<table>
<tbody>
<tr>
<td>
-<p><a href="-init-.html">&lt;init&gt;</a></p>
+<p><a href="web-socket-session.html">webSocketSession</a></p>
</td>
<td>
-<code><span class="identifier">DummyWsSessionModule</span><span class="symbol">(</span><span class="symbol">)</span></code></td>
-</tr>
-</tbody>
-</table>
-<h3>Functions</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="configure.html">configure</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+<code><span class="keyword">var </span><span class="identifier">webSocketSession</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
</tr>
</tbody>
</table>
diff --git a/api/pl.treksoft.kvision.remote/-web-socket-session-holder/web-socket-session.html b/api/pl.treksoft.kvision.remote/-web-socket-session-holder/web-socket-session.html
new file mode 100644
index 00000000..79762c28
--- /dev/null
+++ b/api/pl.treksoft.kvision.remote/-web-socket-session-holder/web-socket-session.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>WebSocketSessionHolder.webSocketSession - kvision</title>
+<link rel="stylesheet" href="../../../style.css">
+</HEAD>
+<BODY>
+<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">WebSocketSessionHolder</a>&nbsp;/&nbsp;<a href="./web-socket-session.html">webSocketSession</a><br/>
+<br/>
+<h1>webSocketSession</h1>
+<a name="pl.treksoft.kvision.remote.WebSocketSessionHolder$webSocketSession"></a>
+<code><span class="keyword">var </span><span class="identifier">webSocketSession</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-ws-session-module/-init-.html b/api/pl.treksoft.kvision.remote/-ws-session-module/-init-.html
deleted file mode 100644
index afe20cc1..00000000
--- a/api/pl.treksoft.kvision.remote/-ws-session-module/-init-.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>WsSessionModule.<init> - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">WsSessionModule</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
-<br/>
-<h1>&lt;init&gt;</h1>
-<a name="pl.treksoft.kvision.remote.WsSessionModule$&lt;init&gt;()"></a>
-<code><span class="identifier">WsSessionModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.WsSessionModule$<init>()/webSocketSession">webSocketSession</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-ws-session-module/configure.html b/api/pl.treksoft.kvision.remote/-ws-session-module/configure.html
deleted file mode 100644
index 99907c66..00000000
--- a/api/pl.treksoft.kvision.remote/-ws-session-module/configure.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>WsSessionModule.configure - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="index.html">WsSessionModule</a>&nbsp;/&nbsp;<a href="./configure.html">configure</a><br/>
-<br/>
-<h1>configure</h1>
-<a name="pl.treksoft.kvision.remote.WsSessionModule$configure()"></a>
-<code><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/-ws-session-module/index.html b/api/pl.treksoft.kvision.remote/-ws-session-module/index.html
deleted file mode 100644
index b5641dd7..00000000
--- a/api/pl.treksoft.kvision.remote/-ws-session-module/index.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>WsSessionModule - kvision</title>
-<link rel="stylesheet" href="../../../style.css">
-</HEAD>
-<BODY>
-<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./index.html">WsSessionModule</a><br/>
-<br/>
-<h1>WsSessionModule</h1>
-<code><span class="keyword">class </span><span class="identifier">WsSessionModule</span></code>
-<h3>Constructors</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="-init-.html">&lt;init&gt;</a></p>
-</td>
-<td>
-<code><span class="identifier">WsSessionModule</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote.WsSessionModule$<init>()/webSocketSession">webSocketSession</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span></code></td>
-</tr>
-</tbody>
-</table>
-<h3>Functions</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="configure.html">configure</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="identifier">configure</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
-</tr>
-</tbody>
-</table>
-<h3>Extension Functions</h3>
-<table>
-<tbody>
-<tr>
-<td>
-<p><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html">createInstance</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span> <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span><span class="symbol">.</span><span class="identifier">createInstance</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.utils$createInstance(kotlin.Any, kotlin.Array((kotlin.Any)))/args">args</span><span class="symbol">:</span>&nbsp;<span class="keyword">dynamic</span><span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.utils/kotlin.-any/create-instance.html#T"><span class="identifier">T</span></a></code>
-<p>Helper function for creating JavaScript objects from dynamic constructors.</p>
-</td>
-</tr>
-</tbody>
-</table>
-</BODY>
-</HTML>
diff --git a/api/pl.treksoft.kvision.remote/add-path-patterns-from-services.html b/api/pl.treksoft.kvision.remote/add-path-patterns-from-services.html
index e6da72c9..0c3d8c8d 100644
--- a/api/pl.treksoft.kvision.remote/add-path-patterns-from-services.html
+++ b/api/pl.treksoft.kvision.remote/add-path-patterns-from-services.html
@@ -10,5 +10,6 @@
<h1>addPathPatternsFromServices</h1>
<a name="pl.treksoft.kvision.remote$addPathPatternsFromServices(, kotlin.collections.List((pl.treksoft.kvision.remote.KVServiceManager((kotlin.Any)))))"></a>
<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">addPathPatternsFromServices</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$addPathPatternsFromServices(, kotlin.collections.List((pl.treksoft.kvision.remote.KVServiceManager((kotlin.Any)))))/services">services</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="-k-v-service-manager/index.html"><span class="identifier">KVServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>A function to gather paths for an interceptor from a list of service managers.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.remote/apply-routes.html b/api/pl.treksoft.kvision.remote/apply-routes.html
index 764152be..431ef8d2 100644
--- a/api/pl.treksoft.kvision.remote/apply-routes.html
+++ b/api/pl.treksoft.kvision.remote/apply-routes.html
@@ -10,5 +10,6 @@
<h1>applyRoutes</h1>
<a name="pl.treksoft.kvision.remote$applyRoutes(, pl.treksoft.kvision.remote.KVServiceManager((pl.treksoft.kvision.remote.applyRoutes.T)))"></a>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">applyRoutes</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$applyRoutes(, pl.treksoft.kvision.remote.KVServiceManager((pl.treksoft.kvision.remote.applyRoutes.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="-k-v-service-manager/index.html"><span class="identifier">KVServiceManager</span></a><span class="symbol">&lt;</span><a href="apply-routes.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>A function to generate routes based on definitions from the service manager.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.remote/index.html b/api/pl.treksoft.kvision.remote/index.html
index 11309d6e..a754753f 100644
--- a/api/pl.treksoft.kvision.remote/index.html
+++ b/api/pl.treksoft.kvision.remote/index.html
@@ -23,13 +23,6 @@
</tr>
<tr>
<td>
-<p><a href="-call-module/index.html">CallModule</a></p>
-</td>
-<td>
-<code><span class="keyword">class </span><span class="identifier">CallModule</span></code></td>
-</tr>
-<tr>
-<td>
<p><a href="-credentials/index.html">Credentials</a></p>
</td>
<td>
@@ -39,17 +32,10 @@
</tr>
<tr>
<td>
-<p><a href="-dummy-web-socket-server-session/index.html">DummyWebSocketServerSession</a></p>
-</td>
-<td>
-<code><span class="keyword">class </span><span class="identifier">DummyWebSocketServerSession</span></code></td>
-</tr>
-<tr>
-<td>
-<p><a href="-dummy-ws-session-module/index.html">DummyWsSessionModule</a></p>
+<p><a href="-dummy-web-socket-session/index.html">DummyWebSocketSession</a></p>
</td>
<td>
-<code><span class="keyword">class </span><span class="identifier">DummyWsSessionModule</span></code></td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DummyWebSocketSession</span></code></td>
</tr>
<tr>
<td>
@@ -65,7 +51,9 @@
<p><a href="-k-v-controller/index.html">KVController</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">KVController</span></code></td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">KVController</span></code>
+<p>Controller for handling automatic routes.</p>
+</td>
</tr>
<tr>
<td>
@@ -87,19 +75,21 @@
</tr>
<tr>
<td>
-<p><a href="-login-service/index.html">LoginService</a></p>
+<p><a href="-k-v-web-socket-config/index.html">KVWebSocketConfig</a></p>
</td>
<td>
-<code><span class="keyword">class </span><span class="identifier">LoginService</span></code>
-<p>Form login dispatcher.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">KVWebSocketConfig</span></code>
+<p>Automatic websockets configuration.</p>
</td>
</tr>
<tr>
<td>
-<p><a href="-main-module/index.html">MainModule</a></p>
+<p><a href="-login-service/index.html">LoginService</a></p>
</td>
<td>
-<code><span class="keyword">class </span><span class="identifier">MainModule</span></code></td>
+<code><span class="keyword">class </span><span class="identifier">LoginService</span></code>
+<p>Form login dispatcher.</p>
+</td>
</tr>
<tr>
<td>
@@ -148,10 +138,10 @@
</tr>
<tr>
<td>
-<p><a href="-ws-session-module/index.html">WsSessionModule</a></p>
+<p><a href="-web-socket-session-holder/index.html">WebSocketSessionHolder</a></p>
</td>
<td>
-<code><span class="keyword">class </span><span class="identifier">WsSessionModule</span></code></td>
+<code><span class="keyword">object </span><span class="identifier">WebSocketSessionHolder</span></code></td>
</tr>
</tbody>
</table>
@@ -218,6 +208,13 @@
<td>
<code><span class="keyword">val </span><span class="identifier">injectorKey</span><span class="symbol">: </span><span class="identifier">&lt;ERROR CLASS&gt;</span></code></td>
</tr>
+<tr>
+<td>
+<p><a href="-k-v_-r-o-u-t-e_-i-d_-a-t-t-r-i-b-u-t-e.html">KV_ROUTE_ID_ATTRIBUTE</a></p>
+</td>
+<td>
+<code><span class="keyword">const</span> <span class="keyword">val </span><span class="identifier">KV_ROUTE_ID_ATTRIBUTE</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code></td>
+</tr>
</tbody>
</table>
<h3>Functions</h3>
@@ -228,14 +225,18 @@
<p><a href="add-path-patterns-from-services.html">addPathPatternsFromServices</a></p>
</td>
<td>
-<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">addPathPatternsFromServices</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$addPathPatternsFromServices(, kotlin.collections.List((pl.treksoft.kvision.remote.KVServiceManager((kotlin.Any)))))/services">services</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="-k-v-service-manager/index.html"><span class="identifier">KVServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">addPathPatternsFromServices</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$addPathPatternsFromServices(, kotlin.collections.List((pl.treksoft.kvision.remote.KVServiceManager((kotlin.Any)))))/services">services</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="-k-v-service-manager/index.html"><span class="identifier">KVServiceManager</span></a><span class="symbol">&lt;</span><span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>A function to gather paths for an interceptor from a list of service managers.</p>
+</td>
</tr>
<tr>
<td>
<p><a href="apply-routes.html">applyRoutes</a></p>
</td>
<td>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">applyRoutes</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$applyRoutes(, pl.treksoft.kvision.remote.KVServiceManager((pl.treksoft.kvision.remote.applyRoutes.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="-k-v-service-manager/index.html"><span class="identifier">KVServiceManager</span></a><span class="symbol">&lt;</span><a href="apply-routes.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span> <span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">applyRoutes</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$applyRoutes(, pl.treksoft.kvision.remote.KVServiceManager((pl.treksoft.kvision.remote.applyRoutes.T)))/serviceManager">serviceManager</span><span class="symbol">:</span>&nbsp;<a href="-k-v-service-manager/index.html"><span class="identifier">KVServiceManager</span></a><span class="symbol">&lt;</span><a href="apply-routes.html#T"><span class="identifier">T</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>A function to generate routes based on definitions from the service manager.</p>
+</td>
</tr>
<tr>
<td>
@@ -251,8 +252,11 @@
<p><a href="kvision-init.html">kvisionInit</a></p>
</td>
<td>
-<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">kvisionInit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
-<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">kvisionInit</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.remote$kvisionInit(, kotlin.Array(()))/modules">modules</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
+<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">kvisionInit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Initialization function for Jooby server.</p>
+<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">kvisionInit</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.remote$kvisionInit(, kotlin.Array(()))/modules">modules</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Initialization function for Ktor server.</p>
+</td>
</tr>
<tr>
<td>
@@ -273,13 +277,6 @@
<p>A helper extension function for processing with authenticated user profile.</p>
</td>
</tr>
-<tr>
-<td>
-<p><a href="write-j-s-o-n.html">writeJSON</a></p>
-</td>
-<td>
-<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">writeJSON</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$writeJSON(, kotlin.String)/json">json</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code></td>
-</tr>
</tbody>
</table>
</BODY>
diff --git a/api/pl.treksoft.kvision.remote/kvision-init.html b/api/pl.treksoft.kvision.remote/kvision-init.html
index 824f1fa6..1892b1fa 100644
--- a/api/pl.treksoft.kvision.remote/kvision-init.html
+++ b/api/pl.treksoft.kvision.remote/kvision-init.html
@@ -9,8 +9,10 @@
<br/>
<h1>kvisionInit</h1>
<a name="pl.treksoft.kvision.remote$kvisionInit()"></a>
-<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">kvisionInit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code><br/>
+<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">kvisionInit</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Initialization function for Jooby server.</p>
<a name="pl.treksoft.kvision.remote$kvisionInit(, kotlin.Array(()))"></a>
<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">kvisionInit</span><span class="symbol">(</span><span class="keyword">vararg</span> <span class="identifier" id="pl.treksoft.kvision.remote$kvisionInit(, kotlin.Array(()))/modules">modules</span><span class="symbol">:</span>&nbsp;<span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
+<p>Initialization function for Ktor server.</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.remote/write-j-s-o-n.html b/api/pl.treksoft.kvision.remote/write-j-s-o-n.html
deleted file mode 100644
index dc373db0..00000000
--- a/api/pl.treksoft.kvision.remote/write-j-s-o-n.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<HTML>
-<HEAD>
-<meta charset="UTF-8">
-<title>writeJSON - kvision</title>
-<link rel="stylesheet" href="../../style.css">
-</HEAD>
-<BODY>
-<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.remote</a>&nbsp;/&nbsp;<a href="./write-j-s-o-n.html">writeJSON</a><br/>
-<br/>
-<h1>writeJSON</h1>
-<a name="pl.treksoft.kvision.remote$writeJSON(, kotlin.String)"></a>
-<code><span class="keyword">fun </span><span class="identifier">&lt;ERROR CLASS&gt;</span><span class="symbol">.</span><span class="identifier">writeJSON</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.remote$writeJSON(, kotlin.String)/json">json</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></code>
-</BODY>
-</HTML>