|
17 | 17 |
|
18 | 18 | package org.openqa.selenium.grid.router.httpd;
|
19 | 19 |
|
| 20 | +import static java.net.HttpURLConnection.HTTP_NO_CONTENT; |
| 21 | +import static org.openqa.selenium.grid.config.StandardGridRoles.DISTRIBUTOR_ROLE; |
| 22 | +import static org.openqa.selenium.grid.config.StandardGridRoles.HTTPD_ROLE; |
| 23 | +import static org.openqa.selenium.grid.config.StandardGridRoles.ROUTER_ROLE; |
| 24 | +import static org.openqa.selenium.grid.config.StandardGridRoles.SESSION_MAP_ROLE; |
| 25 | +import static org.openqa.selenium.grid.config.StandardGridRoles.SESSION_QUEUE_ROLE; |
| 26 | +import static org.openqa.selenium.net.Urls.fromUri; |
| 27 | +import static org.openqa.selenium.remote.http.Route.combine; |
| 28 | +import static org.openqa.selenium.remote.http.Route.get; |
| 29 | + |
20 | 30 | import com.google.auto.service.AutoService;
|
21 | 31 | import com.google.common.collect.ImmutableMap;
|
22 | 32 | import com.google.common.collect.ImmutableSet;
|
|
48 | 58 | import org.openqa.selenium.grid.sessionqueue.remote.RemoteNewSessionQueue;
|
49 | 59 | import org.openqa.selenium.grid.web.GridUiRoute;
|
50 | 60 | import org.openqa.selenium.internal.Require;
|
| 61 | +import org.openqa.selenium.remote.http.ClientConfig; |
51 | 62 | import org.openqa.selenium.remote.http.HttpClient;
|
52 | 63 | import org.openqa.selenium.remote.http.HttpResponse;
|
53 | 64 | import org.openqa.selenium.remote.http.Routable;
|
54 | 65 | import org.openqa.selenium.remote.http.Route;
|
55 | 66 | import org.openqa.selenium.remote.tracing.Tracer;
|
56 | 67 |
|
57 | 68 | import java.net.URL;
|
| 69 | +import java.time.Duration; |
58 | 70 | import java.util.Collections;
|
59 | 71 | import java.util.Set;
|
60 | 72 | import java.util.logging.Logger;
|
61 | 73 |
|
62 |
| -import static java.net.HttpURLConnection.HTTP_NO_CONTENT; |
63 |
| -import static org.openqa.selenium.grid.config.StandardGridRoles.DISTRIBUTOR_ROLE; |
64 |
| -import static org.openqa.selenium.grid.config.StandardGridRoles.HTTPD_ROLE; |
65 |
| -import static org.openqa.selenium.grid.config.StandardGridRoles.ROUTER_ROLE; |
66 |
| -import static org.openqa.selenium.grid.config.StandardGridRoles.SESSION_MAP_ROLE; |
67 |
| -import static org.openqa.selenium.grid.config.StandardGridRoles.SESSION_QUEUE_ROLE; |
68 |
| -import static org.openqa.selenium.net.Urls.fromUri; |
69 |
| -import static org.openqa.selenium.remote.http.Route.combine; |
70 |
| -import static org.openqa.selenium.remote.http.Route.get; |
71 |
| - |
72 | 74 | @AutoService(CliCommand.class)
|
73 | 75 | public class RouterServer extends TemplateGridServerCommand {
|
74 | 76 |
|
@@ -124,11 +126,16 @@ protected Handlers createHandlers(Config config) {
|
124 | 126 | SessionMapOptions sessionsOptions = new SessionMapOptions(config);
|
125 | 127 | SessionMap sessions = sessionsOptions.getSessionMap();
|
126 | 128 |
|
127 |
| - NewSessionQueueOptions sessionQueueOptions = new NewSessionQueueOptions(config); |
128 |
| - URL sessionQueueUrl = fromUri(sessionQueueOptions.getSessionQueueUri()); |
| 129 | + NewSessionQueueOptions newSessionQueueOptions = new NewSessionQueueOptions(config); |
| 130 | + URL sessionQueueUrl = fromUri(newSessionQueueOptions.getSessionQueueUri()); |
| 131 | + Duration sessionRequestTimeout = newSessionQueueOptions.getSessionRequestTimeout(); |
| 132 | + ClientConfig httpClientConfig = ClientConfig |
| 133 | + .defaultConfig() |
| 134 | + .baseUrl(sessionQueueUrl) |
| 135 | + .readTimeout(sessionRequestTimeout); |
129 | 136 | NewSessionQueue queue = new RemoteNewSessionQueue(
|
130 | 137 | tracer,
|
131 |
| - clientFactory.createClient(sessionQueueUrl), |
| 138 | + clientFactory.createClient(httpClientConfig), |
132 | 139 | secret);
|
133 | 140 |
|
134 | 141 | DistributorOptions distributorOptions = new DistributorOptions(config);
|
|
0 commit comments