Set explicit timeout for http request (#15505)

* Bondhome
* chatgpt
* electroluxair
* energidataservice
* freeboxos
* gardena
* generacmobilelink
* hdpowerview
* icalendar
* juicenet
* kostalinverter
* liquidcheck
* mcd
* meater
* miele
* mercedesme
* mybmw
* myq
* ojelectronics
* plex
* radiothermostat
* renault
* semsportal
* sensibo
* tapocontrol
* tellstick
* verisure
* vizio

---------

Signed-off-by: lsiepel <leosiepel@gmail.com>
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
This commit is contained in:
lsiepel
2023-10-19 22:30:41 +02:00
committed by GitHub
parent c7568cb206
commit 7313415ae0
32 changed files with 135 additions and 48 deletions

View File

@@ -69,6 +69,7 @@ import com.google.gson.JsonSyntaxException;
@NonNullByDefault
public class GeneracMobileLinkAccountHandler extends BaseBridgeHandler {
private final Logger logger = LoggerFactory.getLogger(GeneracMobileLinkAccountHandler.class);
private static final int REQUEST_TIMEOUT_MS = 10_000;
private static final String API_BASE = "https://app.mobilelinkgen.com/api";
private static final String LOGIN_BASE = "https://generacconnectivity.b2clogin.com/generacconnectivity.onmicrosoft.com/B2C_1A_MobileLink_SignIn";
@@ -286,8 +287,9 @@ public class GeneracMobileLinkAccountHandler extends BaseBridgeHandler {
fields.put("password", config.password);
Request selfAssertedRequest = httpClient.POST(LOGIN_BASE + "/SelfAsserted")
.header("X-Csrf-Token", signInConfig.csrf).param("tx", "StateProperties=" + signInConfig.transId)
.param("p", "B2C_1A_SignUpOrSigninOnline").content(new FormContentProvider(fields));
.timeout(REQUEST_TIMEOUT_MS, TimeUnit.MILLISECONDS).header("X-Csrf-Token", signInConfig.csrf)
.param("tx", "StateProperties=" + signInConfig.transId).param("p", "B2C_1A_SignUpOrSigninOnline")
.content(new FormContentProvider(fields));
ContentResponse selfAssertedResponse = selfAssertedRequest.send();
@@ -309,8 +311,8 @@ public class GeneracMobileLinkAccountHandler extends BaseBridgeHandler {
}
Request confirmedRequest = httpClient.newRequest(LOGIN_BASE + "/api/CombinedSigninAndSignup/confirmed")
.param("csrf_token", signInConfig.csrf).param("tx", "StateProperties=" + signInConfig.transId)
.param("p", "B2C_1A_SignUpOrSigninOnline");
.timeout(REQUEST_TIMEOUT_MS, TimeUnit.MILLISECONDS).param("csrf_token", signInConfig.csrf)
.param("tx", "StateProperties=" + signInConfig.transId).param("p", "B2C_1A_SignUpOrSigninOnline");
ContentResponse confirmedResponse = confirmedRequest.send();
@@ -362,7 +364,8 @@ public class GeneracMobileLinkAccountHandler extends BaseBridgeHandler {
fields.put("state", loginState.attr("value"));
fields.put("code", loginCode.attr("value"));
Request loginRequest = httpClient.POST(action).content(new FormContentProvider(fields));
Request loginRequest = httpClient.POST(action).timeout(REQUEST_TIMEOUT_MS, TimeUnit.MILLISECONDS)
.content(new FormContentProvider(fields));
ContentResponse loginResponse = loginRequest.send();
if (logger.isTraceEnabled()) {