Expose convenience String url methods

See gh-317
This commit is contained in:
rstoyanchev
2022-03-09 08:46:45 +00:00
parent 7459637808
commit 71881f5e47
4 changed files with 38 additions and 2 deletions

View File

@@ -83,6 +83,14 @@ final class DefaultWebSocketGraphQlTester extends AbstractDelegatingGraphQlTeste
private final WebSocketGraphQlClient.Builder<?> graphQlClientBuilder;
/**
* Constructor to start via {@link WebSocketGraphQlTester#builder(String, WebSocketClient)}.
*/
Builder(String url, WebSocketClient webSocketClient) {
Assert.notNull(webSocketClient, "WebSocketClient is required");
this.graphQlClientBuilder = WebSocketGraphQlClient.builder(url, webSocketClient);
}
/**
* Constructor to start via {@link WebSocketGraphQlTester#builder(URI, WebSocketClient)}.
*/

View File

@@ -56,6 +56,15 @@ public interface WebSocketGraphQlTester extends WebGraphQlTester {
return builder(url, webSocketClient).build();
}
/**
* Return a builder for a {@link WebSocketGraphQlClient}.
* @param url the GraphQL endpoint URL
* @param webSocketClient the underlying transport client to use
*/
static WebSocketGraphQlTester.Builder<?> builder(String url, WebSocketClient webSocketClient) {
return new DefaultWebSocketGraphQlTester.Builder(url, webSocketClient);
}
/**
* Return a builder for a {@link WebSocketGraphQlClient}.
* @param url the GraphQL endpoint URL

View File

@@ -89,6 +89,13 @@ final class DefaultWebSocketGraphQlClient extends AbstractDelegatingGraphQlClien
private final CodecConfigurer codecConfigurer;
/**
* Constructor to start via {@link WebSocketGraphQlClient#builder(String, WebSocketClient)}.
*/
Builder(String url, WebSocketClient client) {
this(toURI(url), client);
}
/**
* Constructor to start via {@link WebSocketGraphQlClient#builder(URI, WebSocketClient)}.
*/
@@ -111,8 +118,7 @@ final class DefaultWebSocketGraphQlClient extends AbstractDelegatingGraphQlClien
@Override
public Builder url(String url) {
url(new DefaultUriBuilderFactory().uriString(url).build());
return this;
return url(toURI(url));
}
@Override
@@ -121,6 +127,10 @@ final class DefaultWebSocketGraphQlClient extends AbstractDelegatingGraphQlClien
return this;
}
private static URI toURI(String url) {
return new DefaultUriBuilderFactory().uriString(url).build();
}
@Override
public Builder header(String name, String... values) {
this.headers.put(name, Arrays.asList(values));

View File

@@ -64,6 +64,15 @@ public interface WebSocketGraphQlClient extends WebGraphQlClient {
return builder(url, webSocketClient).build();
}
/**
* Return a builder for a {@link WebSocketGraphQlClient}.
* @param url the GraphQL endpoint URL
* @param webSocketClient the underlying transport client to use
*/
static Builder<?> builder(String url, WebSocketClient webSocketClient) {
return new DefaultWebSocketGraphQlClient.Builder(url, webSocketClient);
}
/**
* Return a builder for a {@link WebSocketGraphQlClient}.
* @param url the GraphQL endpoint URL