/*
 * Copyright 2012 Netflix, Inc.
 *
 * Licensed 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
 *
 *     http://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.
 */
import javax.servlet.http.HttpServletResponse

class LoadingFilters {

    def dependsOn = [InitFilters]

    def initService

    def filters = {
        all(controller: '(init|healthcheck|server)', invert: true) {
            before = {
                if (!initService.cachesFilled() && !System.getProperty('skipCacheFill')) {
                    render(status: HttpServletResponse.SC_SERVICE_UNAVAILABLE, view: '/loading')
                    return false
                }
                return true
            }
        }
    }

}

/*
 * Copyright 2012 Netflix, Inc.
 *
 * Licensed 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
 *
 *     http://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.
 */
import javax.servlet.http.HttpServletResponse

class LoadingFilters {

    def dependsOn = [InitFilters]

    def initService

    def filters = {
        all(controller: '(cache|init|healthcheck|server)', invert: true) {
            before = {
                if (!initService.cachesFilled() && !System.getProperty('skipCacheFill')) {
                    render(status: HttpServletResponse.SC_SERVICE_UNAVAILABLE, view: '/loading')
                    return false
                }
                return true
            }
        }
    }

}

Allow cache view during server loading
Allow cache view during server loading
