@@ -31,6 +31,8 @@ public class NettyWebTarget implements WebTarget {
3131
3232 private final ChannelProvider channelProvider ;
3333
34+ private final String host ;
35+
3436 private final ImmutableList <String > path ;
3537
3638 private final ImmutableMap <String , String > queryParams ;
@@ -42,16 +44,18 @@ public class NettyWebTarget implements WebTarget {
4244
4345 private static final String PATH_SEPARATOR = "/" ;
4446
45- public NettyWebTarget (ChannelProvider channelProvider ) {
46- this (channelProvider , ImmutableList .<String >of (), ImmutableMap .<String , String >of (),
47+ public NettyWebTarget (ChannelProvider channelProvider , String host ) {
48+ this (channelProvider , host , ImmutableList .<String >of (), ImmutableMap .<String , String >of (),
4749 ImmutableMap .<String , Set <String >>of ());
4850 }
4951
5052 private NettyWebTarget (ChannelProvider channelProvider ,
53+ String host ,
5154 ImmutableList <String > path ,
5255 ImmutableMap <String , String > queryParams ,
5356 ImmutableMap <String , Set <String >> queryParamsSet ) {
5457 this .channelProvider = channelProvider ;
58+ this .host = host ;
5559 this .path = path ;
5660 this .queryParams = queryParams ;
5761 this .queryParamsSet = queryParamsSet ;
@@ -64,7 +68,7 @@ public NettyWebTarget path(String... components) {
6468 newPath .addAll (Arrays .asList (StringUtils .split (component , PATH_SEPARATOR )));
6569 }
6670
67- return new NettyWebTarget (channelProvider , newPath .build (), queryParams , queryParamsSet );
71+ return new NettyWebTarget (channelProvider , host , newPath .build (), queryParams , queryParamsSet );
6872 }
6973
7074 public NettyInvocationBuilder request () {
@@ -85,7 +89,8 @@ public NettyInvocationBuilder request() {
8589 resource = resource + "?" + StringUtils .join (params , "&" );
8690 }
8791
88- return new NettyInvocationBuilder (channelProvider , resource );
92+ return new NettyInvocationBuilder (channelProvider , resource )
93+ .header ("Host" , host );
8994 }
9095
9196 /**
@@ -106,15 +111,15 @@ public NettyWebTarget resolveTemplate(String name, Object value) {
106111 component = component .replaceAll ("\\ {" + name + "\\ }" , value .toString ());
107112 newPath .add (component );
108113 }
109- return new NettyWebTarget (channelProvider , newPath .build (), queryParams , queryParamsSet );
114+ return new NettyWebTarget (channelProvider , host , newPath .build (), queryParams , queryParamsSet );
110115 }
111116
112117 public NettyWebTarget queryParam (String name , Object value ) {
113118 ImmutableMap .Builder <String , String > builder = ImmutableMap .<String , String >builder ().putAll (queryParams );
114119 if (value != null ) {
115120 builder .put (name , value .toString ());
116121 }
117- return new NettyWebTarget (channelProvider , path , builder .build (), queryParamsSet );
122+ return new NettyWebTarget (channelProvider , host , path , builder .build (), queryParamsSet );
118123 }
119124
120125 public NettyWebTarget queryParamsSet (String name , Set <?> values ) {
@@ -126,7 +131,7 @@ public NettyWebTarget queryParamsSet(String name, Set<?> values) {
126131 }
127132 builder .put (name , valueBuilder .build ());
128133 }
129- return new NettyWebTarget (channelProvider , path , queryParams , builder .build ());
134+ return new NettyWebTarget (channelProvider , host , path , queryParams , builder .build ());
130135 }
131136
132137 public NettyWebTarget queryParamsJsonMap (String name , Map <String , String > values ) {
0 commit comments