diff --git a/documentation/core/bootstrapping.asciidoc b/documentation/core/bootstrapping.asciidoc index a3c21353..674c2612 100644 --- a/documentation/core/bootstrapping.asciidoc +++ b/documentation/core/bootstrapping.asciidoc @@ -132,3 +132,8 @@ the builder does not: - Listeners can be given different root handlers In most cases this level of control is not necessary, and it is better to simply use the builder API. + +[cols="3,12,3", width="100%"] +|======= +|link:introduction.html[Previous: Introduction]| |link:overview.html[Next: Architecture Overview] +|======= diff --git a/documentation/core/built-in-handlers.asciidoc b/documentation/core/built-in-handlers.asciidoc index 8d7e8813..6638aedd 100644 --- a/documentation/core/built-in-handlers.asciidoc +++ b/documentation/core/built-in-handlers.asciidoc @@ -120,3 +120,8 @@ Request Limiting Handler:: Handler that limits the number of concurrent requests. If the number exceeds the limit requests are queued. If the queue fills up then requests are rejected. + +[cols="3,12,3", width="100%"] +|======= +|link:listeners.html[Previous: Listeners]| |link:undertow-handler-guide.html[Next: Handler Authors Guide] +|======= diff --git a/documentation/core/error-handling.asciidoc b/documentation/core/error-handling.asciidoc index 0b5ec377..9f9f3b41 100644 --- a/documentation/core/error-handling.asciidoc +++ b/documentation/core/error-handling.asciidoc @@ -101,3 +101,7 @@ public class SimpleErrorPageHandler implements HttpHandler { } ---- +[cols="3,15,2", width="100%"] +|======= +|link:undertow-request-lifecycle.html[Previous: Request Lifecycle]| |link:security.html[Next: Security] +|======= \ No newline at end of file diff --git a/documentation/core/introduction.asciidoc b/documentation/core/introduction.asciidoc index 4053db74..11666858 100644 --- a/documentation/core/introduction.asciidoc +++ b/documentation/core/introduction.asciidoc @@ -31,3 +31,8 @@ be exposed via XML configuration rather than programatic configuration. The documentation is broken up into two parts, the first part focuses on Undertow code, while the second focuses on Servlet. + +[cols="3,10,3", width="100%"] +|======= +|| |link:bootstrapping.html[Next: Bootstrapping Undertow] +|======= \ No newline at end of file diff --git a/documentation/core/listeners.asciidoc b/documentation/core/listeners.asciidoc index 4df4dcb3..9a72c171 100644 --- a/documentation/core/listeners.asciidoc +++ b/documentation/core/listeners.asciidoc @@ -121,3 +121,8 @@ RECORD_REQUEST_START_TIME:: If the server should record the start time of a HTTP request. This is necessary if you wish to log or otherwise use the total request time, however has a slight performance impact, as it means that `System.nanoTime()` must be called for each request. Defaults to false. + +[cols="3,10,2" width="100%"] +|======= +|link:overview.html[Previous: Architecture Overview]| |link:built-in-handlers.html[Next: Built In Handlers] +|======= diff --git a/documentation/core/overview.asciidoc b/documentation/core/overview.asciidoc index a1b19512..db6e1c52 100644 --- a/documentation/core/overview.asciidoc +++ b/documentation/core/overview.asciidoc @@ -127,5 +127,9 @@ public class SetHeaderHandler implements HttpHandler { ---- +[cols="4,14,2", width="100%"] +|======= +|link:bootstrapping.html[Previous: Bootstrapping Undertow]| |link:listeners.html[Next: Listeners] +|======= diff --git a/documentation/core/predicates-attributes-handlers.asciidoc b/documentation/core/predicates-attributes-handlers.asciidoc index 843e64ca..f298c5b7 100644 --- a/documentation/core/predicates-attributes-handlers.asciidoc +++ b/documentation/core/predicates-attributes-handlers.asciidoc @@ -254,3 +254,10 @@ The complete list of built in predicates is shown below: |path-suffix | path | String[] | path | | |path-template | value,match | String, attribute | value | match=%R | Path template elements under the name |regex | pattern, value, full-match| String, attribute, boolean| pattern | value=%R,full-match=false | Match groups under number +|========================== + + +[cols="3,13,2", width="100%"] +|======= +|link:security.html[Previous: Security]| |link:reverse-proxy.html[Next: Reverse Proxy] +|======= \ No newline at end of file diff --git a/documentation/core/reverse-proxy.asciidoc b/documentation/core/reverse-proxy.asciidoc index 1a460cf0..3442d022 100644 --- a/documentation/core/reverse-proxy.asciidoc +++ b/documentation/core/reverse-proxy.asciidoc @@ -56,3 +56,9 @@ if they have recovered. HTTP Upgrade (including websockets) is fully supported for HTTP based backends. When a HTTP upgrade occurs the connection is taken out of the pool and takes on a one to one relationship with the front end connection. Upgraded connections to not count towards the backend connection limit. + +[cols="5,13,2", width="100%"] +|======= +|link:predicates-attributes-handlers.html[Previous: Predicates, Attributes and Handlers]| |link:websockets.html[Next: Websockets] +|======= + diff --git a/documentation/core/security.asciidoc b/documentation/core/security.asciidoc index 1e02547b..98c9a44d 100644 --- a/documentation/core/security.asciidoc +++ b/documentation/core/security.asciidoc @@ -130,4 +130,9 @@ not required then the request can proceed to the next handler in the chain and t then as with a `NOT_AUTHENTICATED` response each mechanism has `sendChallenge` called in turn to generate an authentication challenge to send to the client. +[cols="3,10,4", width="100%"] +|======= +|link:error-handling.html[Previous: Error Handling]| |link:predicates-attributes-handlers.html[Next: Predicates, Attributes and Handlers] +|======= + diff --git a/documentation/core/undertow-handler-guide.asciidoc b/documentation/core/undertow-handler-guide.asciidoc index fbdefd99..db096bf9 100644 --- a/documentation/core/undertow-handler-guide.asciidoc +++ b/documentation/core/undertow-handler-guide.asciidoc @@ -199,3 +199,8 @@ In order to perform a HTTP upgrade you can call to 101, and once the exchange is complete your listener will be notified. Your handler is responsible for setting any appropriate headers that the upgrade client will be expecting. +[cols="3,10,2", width="100%"] +|======= +|link:built-in-handlers.html[Previous: Built In Handlers]| |link:undertow-request-lifecycle.html[Next: Request Lifecycle] +|======= + diff --git a/documentation/core/undertow-request-lifecycle.asciidoc b/documentation/core/undertow-request-lifecycle.asciidoc index 098fcd1a..953d9f02 100644 --- a/documentation/core/undertow-request-lifecycle.asciidoc +++ b/documentation/core/undertow-request-lifecycle.asciidoc @@ -68,3 +68,8 @@ will be called, and the request will be finished. - An exception can be thrown. If this propagates all the way up the call stack the exchange will be ended with a 500 response code. + +[cols="3,12,2", width="100%"] +|======= +|link:undertow-handler-guide.html[Previous: Handler Authors Guide]| |link:error-handling.html[Next: Error Handling] +|======= \ No newline at end of file diff --git a/documentation/core/websockets.asciidoc b/documentation/core/websockets.asciidoc index 77fa28a6..08efae9f 100644 --- a/documentation/core/websockets.asciidoc +++ b/documentation/core/websockets.asciidoc @@ -41,3 +41,8 @@ For maven users the following snippet should be added to your pom.xml: ---- +[cols="3,13,2", width="100%"] +|======= +|link:reverse-proxy.html[Previous: Reverse Proxy]| | +|======= + diff --git a/documentation/servlet/advanced.asciidoc b/documentation/servlet/advanced.asciidoc index ce19ae6d..1e4c48ea 100644 --- a/documentation/servlet/advanced.asciidoc +++ b/documentation/servlet/advanced.asciidoc @@ -94,6 +94,11 @@ To work around this poor practice Undertow provides an option to ignore flushes be activated by calling `DeploymentInfo.setIgnoreFlush(true)`. Even though `flush()` will no longer flush to the client when this is enabled Undertow will still treat the response as commited and not allow modification of the headers. +[cols="3,10,2", width="100%"] +|======= +|link:security.html[Previous: Servlet Security]| | +|======= + diff --git a/documentation/servlet/deployment.asciidoc b/documentation/servlet/deployment.asciidoc index f6d3a82b..011f7f8c 100644 --- a/documentation/servlet/deployment.asciidoc +++ b/documentation/servlet/deployment.asciidoc @@ -95,5 +95,10 @@ to create a general purpose authentication mechanism via a Servlet extension thi means you can install your extension into a server for all deployments, and it will only be active for deployments where the user has specifically selected your mechanism name in web.xml. +[cols="3,14,3", width="100%"] +|======= +|| |link:servlet-extensions.html[Next: Servlet Extensions] +|======= + diff --git a/documentation/servlet/security.asciidoc b/documentation/servlet/security.asciidoc index 27739cb0..b78ef48b 100644 --- a/documentation/servlet/security.asciidoc +++ b/documentation/servlet/security.asciidoc @@ -88,6 +88,11 @@ then specify the mechanism name in web.xml. For more info see the link:servlet-extensions.html:[Servlet extensions guide]. +[cols="6,10,3", width="100%"] +|======= +|link:using-non-blocking-handlers-with-servlet.html[Previous: Combining Undertow Handlers and Servlet]| |link:advanced.html[Next: Advanced Usages] +|======= + diff --git a/documentation/servlet/servlet-extensions.asciidoc b/documentation/servlet/servlet-extensions.asciidoc index 9bb9ee08..c3d2e433 100644 --- a/documentation/servlet/servlet-extensions.asciidoc +++ b/documentation/servlet/servlet-extensions.asciidoc @@ -40,4 +40,8 @@ link:deployment.html[The deployment guide] contains examples of how to use the ` link:using-non-blocking-handlers-with-servlet.html[Using non-blocking handlers with Servlet deployments] +[cols="5,8,5", width="100%"] +|======= +|link:deployment.html[Previous: Creating a Servlet Deployment]| |link:using-non-blocking-handlers-with-servlet.html[Next: Combining Undertow Handlers and Servlet] +|======= diff --git a/documentation/servlet/using-non-blocking-handlers-with-servlet.asciidoc b/documentation/servlet/using-non-blocking-handlers-with-servlet.asciidoc index b11d4192..feb38449 100644 --- a/documentation/servlet/using-non-blocking-handlers-with-servlet.asciidoc +++ b/documentation/servlet/using-non-blocking-handlers-with-servlet.asciidoc @@ -153,4 +153,9 @@ A `PredicateHandler` chooses between two different handlers based on the result exchange. In this case we are using a suffix predicate, that will return `true` if the request ends with +.js+ or +.css+. When this predicate returns true our resource handler will be invoked, otherwise the request will be delegated to the servlet -container as normal. \ No newline at end of file +container as normal. + +[cols="3,10,2", width="100%"] +|======= +|link:servlet-extensions.html[Previous: Servlet Extensions]| |link:security.html[Next: Servlet Security] +|======= \ No newline at end of file