Commit d31dbac6 authored by Mihhail Lapushkin's avatar Mihhail Lapushkin Committed by Stephane Nicoll

Support custom UriTemplateHandler in LocalHostUriTemplateHandler

See gh-13208
parent 48cf0250
......@@ -58,9 +58,23 @@ public class LocalHostUriTemplateHandler extends RootUriTemplateHandler {
* @since 1.4.1
*/
public LocalHostUriTemplateHandler(Environment environment, String scheme) {
super(new DefaultUriBuilderFactory());
this(environment, scheme, new DefaultUriBuilderFactory());
}
/**
* Create a new {@code LocalHostUriTemplateHandler} that will generate URIs with the
* given {@code scheme}, use the given {@code environment} to determine the
* context-path and port and delegate to the given template {@code handler}.
* @param environment the environment used to determine the port
* @param scheme the scheme of the root uri
* @param handler the delegate handler
* @since 2.0.3
*/
public LocalHostUriTemplateHandler(Environment environment, String scheme, UriTemplateHandler handler) {
super(handler);
Assert.notNull(environment, "Environment must not be null");
Assert.notNull(scheme, "Scheme must not be null");
Assert.notNull(handler, "Handler must not be null");
this.environment = environment;
this.scheme = scheme;
}
......
......@@ -50,6 +50,13 @@ public class LocalHostUriTemplateHandlerTests {
new LocalHostUriTemplateHandler(new MockEnvironment(), null);
}
@Test
public void createWhenHandlerIsNullShouldThrowException() {
this.thrown.expect(IllegalArgumentException.class);
this.thrown.expectMessage("Handler must not be null");
new LocalHostUriTemplateHandler(new MockEnvironment(), "http", null);
}
@Test
public void getRootUriShouldUseLocalServerPort() {
MockEnvironment environment = new MockEnvironment();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment