Consistent id for ReactorServerHttpRequest

Closes gh-27885
This commit is contained in:
rstoyanchev 2022-01-12 08:55:22 +00:00
parent 01231fe923
commit 34cb5df859
2 changed files with 28 additions and 7 deletions

View File

@ -1,5 +1,5 @@
/*
* Copyright 2002-2020 the original author or authors.
* Copyright 2002-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -218,9 +218,18 @@ public abstract class AbstractServerHttpRequest implements ServerHttpRequest {
*/
String getLogPrefix() {
if (this.logPrefix == null) {
this.logPrefix = "[" + getId() + "] ";
this.logPrefix = "[" + initLogPrefix() + "] ";
}
return this.logPrefix;
}
/**
* Subclasses can override this to provide the prefix to use for log messages.
* <p>By default, this is {@link #getId()}.
* @since 5.3.15
*/
protected String initLogPrefix() {
return getId();
}
}

View File

@ -1,5 +1,5 @@
/*
* Copyright 2002-2021 the original author or authors.
* Copyright 2002-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -77,7 +77,7 @@ class ReactorServerHttpRequest extends AbstractServerHttpRequest {
private static URI initUri(HttpServerRequest request) throws URISyntaxException {
Assert.notNull(request, "HttpServerRequest must not be null");
return new URI(resolveBaseUrl(request).toString() + resolveRequestUri(request));
return new URI(resolveBaseUrl(request) + resolveRequestUri(request));
}
private static URI resolveBaseUrl(HttpServerRequest request) throws URISyntaxException {
@ -197,9 +197,6 @@ class ReactorServerHttpRequest extends AbstractServerHttpRequest {
@Override
@Nullable
protected String initId() {
if (reactorNettyRequestChannelOperationsIdPresent) {
return (ChannelOperationsIdHelper.getId(this.request));
}
if (this.request instanceof Connection) {
return ((Connection) this.request).channel().id().asShortText() +
"-" + logPrefixIndex.incrementAndGet();
@ -207,6 +204,21 @@ class ReactorServerHttpRequest extends AbstractServerHttpRequest {
return null;
}
@Override
protected String initLogPrefix() {
if (reactorNettyRequestChannelOperationsIdPresent) {
String id = (ChannelOperationsIdHelper.getId(this.request));
if (id != null) {
return id;
}
}
if (this.request instanceof Connection) {
return ((Connection) this.request).channel().id().asShortText() +
"-" + logPrefixIndex.incrementAndGet();
}
return getId();
}
private static class ChannelOperationsIdHelper {