protected Collection findConfigAttributes()

in plugin-core/plugin/src/main/groovy/grails/plugin/springsecurity/web/access/intercept/AbstractFilterInvocationDefinition.groovy [115:152]


	protected Collection<ConfigAttribute> findConfigAttributes(String url, String requestMethod) {

		initialize()

		Collection<ConfigAttribute> configAttributes
		String configAttributePattern

		boolean stopAtFirstMatch = stopAtFirstMatch()
		for (InterceptedUrl iu in compiled) {

			if (requestMethod && iu.httpMethod && iu.httpMethod != HttpMethod.valueOf(requestMethod)) {
				log.debug "Request '{} {}' doesn't match '{} {}'", requestMethod, url, iu.httpMethod, iu.pattern
				continue
			}

			if (urlMatcher.match(iu.pattern, url)) {
				if (configAttributes == null || urlMatcher.match(configAttributePattern, iu.pattern)) {
					configAttributes = iu.configAttributes
					configAttributePattern = iu.pattern
					log.trace "new candidate for '{}': '{}':{}", url, iu.pattern, configAttributes
					if (stopAtFirstMatch) {
						break
					}
				}
			}
		}

		if (log.traceEnabled) {
			if (configAttributes == null) {
				log.trace "no config for '{}'", url
			}
			else {
				log.trace "config for '{}' is '{}':{}", url, configAttributePattern, configAttributes
			}
		}

		configAttributes
	}