public static Tag uri()

in spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/server/WebFluxTags.java [106:132]


	public static Tag uri(ServerWebExchange exchange, boolean ignoreTrailingSlash) {
		PathPattern pathPattern = exchange.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE);
		if (pathPattern != null) {
			String patternString = pathPattern.getPatternString();
			if (ignoreTrailingSlash && patternString.length() > 1) {
				patternString = TRAILING_SLASH_PATTERN.matcher(patternString).replaceAll("");
			}
			if (patternString.isEmpty()) {
				return URI_ROOT;
			}
			return Tag.of("uri", patternString);
		}
		HttpStatus status = exchange.getResponse().getStatusCode();
		if (status != null) {
			if (status.is3xxRedirection()) {
				return URI_REDIRECTION;
			}
			if (status == HttpStatus.NOT_FOUND) {
				return URI_NOT_FOUND;
			}
		}
		String path = getPathInfo(exchange);
		if (path.isEmpty()) {
			return URI_ROOT;
		}
		return URI_UNKNOWN;
	}