31
31
import java .io .IOException ;
32
32
import java .time .Duration ;
33
33
import java .util .ArrayList ;
34
+ import java .util .Arrays ;
34
35
import java .util .HashMap ;
35
36
import java .util .List ;
36
37
import java .util .Map ;
@@ -143,9 +144,10 @@ protected boolean hasShutdownEndpoint() {
143
144
*/
144
145
@ AutoService (DriverService .Builder .class )
145
146
public static class Builder extends FirefoxDriverService .Builder <
146
- GeckoDriverService , GeckoDriverService .Builder > {
147
+ GeckoDriverService , GeckoDriverService .Builder > {
147
148
148
149
private FirefoxBinary firefoxBinary ;
150
+ private String allowHosts ;
149
151
150
152
public Builder () {
151
153
}
@@ -177,6 +179,17 @@ public Builder usingFirefoxBinary(FirefoxBinary firefoxBinary) {
177
179
return this ;
178
180
}
179
181
182
+ /**
183
+ * Values of the Host header to allow for incoming requests.
184
+ *
185
+ * @param allowHosts Space-separated list of host names.
186
+ * @return A self reference.
187
+ */
188
+ public GeckoDriverService .Builder withAllowHosts (String allowHosts ) {
189
+ this .allowHosts = allowHosts ;
190
+ return this ;
191
+ }
192
+
180
193
@ Override
181
194
protected List <String > createArgs () {
182
195
List <String > args = new ArrayList <>();
@@ -198,8 +211,13 @@ protected List<String> createArgs() {
198
211
args .add ("-b" );
199
212
args .add (e .getPath ());
200
213
});
214
+ // If the binary stays null, GeckoDriver will be responsible for finding Firefox on the
215
+ // PATH or via a capability.
216
+ }
217
+ if (allowHosts != null ) {
218
+ args .add ("--allow-hosts" );
219
+ args .addAll (Arrays .asList (allowHosts .split (" " )));
201
220
}
202
- // If the binary stays null, GeckoDriver will be responsible for finding Firefox on the PATH or via a capability.
203
221
return unmodifiableList (args );
204
222
}
205
223
0 commit comments