Skip to content

Commit

Permalink
Add missed overrides for the client builders (#1117)
Browse files Browse the repository at this point in the history
Motivation:

Some methods are not overridden in `BaseSingleAddressHttpClientBuilder`
and `MultiAddressHttpClientBuilder`. Users have to cast if they use
those missed methods on this builders.

Modifications:

- Add overrides for `BaseSingleAddressHttpClientBuilder`: `executionStrategy`
and `appendClientFilter`;
- Add overrides for `MultiAddressHttpClientBuilder.java`: `protocols`;

Result:

Users can use fluent builder API without need to cast builder types.
  • Loading branch information
idelpivnitskiy authored Aug 12, 2020
1 parent ab1b686 commit d466857
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ abstract class BaseSingleAddressHttpClientBuilder<U, R, SDE extends ServiceDisco
@Override
public abstract BaseSingleAddressHttpClientBuilder<U, R, SDE> ioExecutor(IoExecutor ioExecutor);

@Override
public abstract BaseSingleAddressHttpClientBuilder<U, R, SDE> executionStrategy(HttpExecutionStrategy strategy);

@Override
public abstract BaseSingleAddressHttpClientBuilder<U, R, SDE> bufferAllocator(BufferAllocator allocator);

Expand Down Expand Up @@ -59,6 +62,16 @@ public BaseSingleAddressHttpClientBuilder<U, R, SDE> appendConnectionFilter(
public abstract BaseSingleAddressHttpClientBuilder<U, R, SDE> appendConnectionFactoryFilter(
ConnectionFactoryFilter<R, FilterableStreamingHttpConnection> factory);

@Override
public abstract BaseSingleAddressHttpClientBuilder<U, R, SDE> appendClientFilter(
StreamingHttpClientFilterFactory factory);

@Override
public BaseSingleAddressHttpClientBuilder<U, R, SDE> appendClientFilter(Predicate<StreamingHttpRequest> predicate,
StreamingHttpClientFilterFactory factory) {
return (BaseSingleAddressHttpClientBuilder<U, R, SDE>) super.appendClientFilter(predicate, factory);
}

@Override
public abstract BaseSingleAddressHttpClientBuilder<U, R, SDE> disableHostHeaderFallback();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,9 @@ public abstract class MultiAddressHttpClientBuilder<U, R>
@Override
public abstract MultiAddressHttpClientBuilder<U, R> enableWireLogging(String loggerName);

@Override
public abstract MultiAddressHttpClientBuilder<U, R> protocols(HttpProtocolConfig... protocols);

@Override
public abstract MultiAddressHttpClientBuilder<U, R> disableHostHeaderFallback();

Expand Down Expand Up @@ -112,8 +115,7 @@ public abstract MultiAddressHttpClientBuilder<U, R> unresolvedAddressToHost(
@Override
public MultiAddressHttpClientBuilder<U, R> appendClientFilter(final Predicate<StreamingHttpRequest> predicate,
final StreamingHttpClientFilterFactory factory) {
super.appendClientFilter(predicate, factory);
return this;
return (MultiAddressHttpClientBuilder<U, R>) super.appendClientFilter(predicate, factory);
}

/**
Expand Down Expand Up @@ -164,7 +166,6 @@ public MultiAddressHttpClientBuilder<U, R> appendClientFilter(Predicate<Streamin
MultiAddressHttpClientFilterFactory<U> factory) {
requireNonNull(predicate);
requireNonNull(factory);

return appendClientFilter(toMultiAddressConditionalFilterFactory(predicate, factory));
}

Expand Down

0 comments on commit d466857

Please sign in to comment.