@@ -0,0 +1,1583 @@
+/*%0A *    Copyright 2015 Benjamin Schmid, @bentolor%0A *%0A *    Licensed under the Apache License, Version 2.0 (the %22License%22);%0A *    you may not use this file except in compliance with the License.%0A *    You may obtain a copy of the License at%0A *%0A *        http://www.apache.org/licenses/LICENSE-2.0%0A *%0A *    Unless required by applicable law or agreed to in writing, software%0A *    distributed under the License is distributed on an %22AS IS%22 BASIS,%0A *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A *    See the License for the specific language governing permissions and%0A *    limitations under the License.%0A */%0Apackage bentolor.grocerylist;%0A%0Aimport org.springframework.stereotype.Component;%0Aimport org.springframework.web.server.ServerWebExchange;%0Aimport org.springframework.web.server.WebFilter;%0Aimport org.springframework.web.server.WebFilterChain;%0Aimport reactor.core.publisher.Mono;%0A%0A/**%0A * Dirty hack to redirect / to /index.html.%0A * @see %3Ca href=%22https://github.com/spring-projects/spring-boot/issues/9785%22%3E%0A *     https://github.com/spring-projects/spring-boot/issues/9785%3C/a%3E%0A */%0A@Component%0Apublic class RedirectToIndexHtmlWebFilter implements WebFilter %7B%0A    @Override%0A    public Mono%3CVoid%3E filter(ServerWebExchange exchange, WebFilterChain chain) %7B%0A        if (exchange.getRequest().getURI().getPath().equals(%22/%22)) %7B%0A            return chain.filter(exchange.mutate()%0A                    .request(exchange.getRequest().mutate().path(%22/index.html%22).build())%0A                    .build());%0A        %7D%0A%0A        return chain.filter(exchange);%0A    %7D%0A%7D

add workaround for / redirect to /index.html