Author: pzampino
Date: Thu Apr 10 13:07:19 2025
New Revision: 1924990
URL: http://svn.apache.org/viewvc?rev=1924990&view=rev
Log:
Added missing sse-support.md
Added:
knox/trunk/books/2.1.0/sse-support.md
Added: knox/trunk/books/2.1.0/sse-support.md
URL:
http://svn.apache.org/viewvc/knox/trunk/books/2.1.0/sse-support.md?rev=1924990&view=auto
==============================================================================
--- knox/trunk/books/2.1.0/sse-support.md (added)
+++ knox/trunk/books/2.1.0/sse-support.md Thu Apr 10 13:07:19 2025
@@ -0,0 +1,68 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ https://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+## Server-Sent Events Support ##
+
+### Introduction
+
+Server-Sent Events (SSE) allows a server to push updates to the browser over a
single longlived HTTP connection. The media type is test/event-stream.
+
+### Configuration ###
+
+Asynchronous behaviour and therefore SSE support is not enabled by default.
Modify the `gateway.servlet.async.supported` property to `true` in
`<KNOX-HOME>/conf/gateway-site.xml` file.
+
+ <property>
+ <name>gateway.servlet.async.supported</name>
+ <value>true</value>
+ <description>Enable/Disable async support.</description>
+ </property>
+
+Service and rewrite rules need the be updated as well. Both Ha and non Ha
configurations work.
+
+### Example ###
+
+In the following sample configuration we assume that the backend SSE service
URL is http://myhost:7435. And `gateway.servlet.async.supported` property is
set to `true` as shown above.
+
+### Rewrite ###
+
+Example code snippet from
`<KNOX-HOME>/data/services/{myservice}/{version}/rewrite.xml` where myservice =
sservice and version = 0.1
+
+ <rules>
+ <rule dir="IN" name="SSERVICE/sservice/inbound"
pattern="*://*:*/**/sservice/*">
+ <rewrite template="{$serviceUrl[SSERVICE]}/sse"/>
+ </rule>
+ </rules>
+
+### Service ###
+
+Example code snippet from
`<KNOX-HOME>/data/services/{myservice}/{version}/service.xml` where myservice =
sservice and version = 0.1
+
+ <service role="SSERVICE" name="sservice" version="0.1">
+ <routes>
+ <route path="/sservice/**"></route>
+ </routes>
+ <dispatch classname="org.apache.knox.gateway.sse.SSEDispatch"
ha-classname="org.apache.knox.gateway.ha.dispatch.SSEHaDispatch"/>
+ </service>
+
+### Topology ###
+
+Finally, update the topology file at `<KNOX-HOME>/conf/{topology}.xml` with
the backend service URL
+
+ <service>
+ <role>SSERVICE</role>
+ <url>http://myhost:7435</url>
+ </service>