|
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