@@ -60,11 +60,11 @@ public LoginHandler(LoginRequest loginRequest) {
6060 * @param loginRequest The login request to process.
6161 */
6262 private void handleLoginRequest (LoginRequest loginRequest ) {
63- HashMap <String , String > request ;
63+ HashMap <String , String > receivedRequest ;
6464 try {
6565 logger .info ("Sending login request..." );
6666 // send the login request to TTR
67- request = sendRequest (loginRequest ). getRequestDetails ( );
67+ receivedRequest = sendRequest (loginRequest );
6868 attempts += 1 ;
6969 } catch (Exception exception ) {
7070 logger .error ("Unable to send login request to TTR!" , exception );
@@ -73,11 +73,17 @@ private void handleLoginRequest(LoginRequest loginRequest) {
7373 return ;
7474 }
7575
76+ // if the login failed, don't continue
77+ // sendRequest() will display & log errors for us
78+ if (receivedRequest == null ) {
79+ return ;
80+ }
81+
7682 logger .info ("Received login response:" );
7783 // get the login status
78- String status = request .get ("success" );
79- String banner = request .get ("banner" );
80- String eta = request .get ("eta" );
84+ String status = receivedRequest .get ("success" );
85+ String banner = receivedRequest .get ("banner" );
86+ String eta = receivedRequest .get ("eta" );
8187
8288 logger .info ("banner=" + banner );
8389 logger .info ("status=" + status );
@@ -91,14 +97,13 @@ private void handleLoginRequest(LoginRequest loginRequest) {
9197 }
9298 case "partial" -> // partial is used for 2FA or ToonGuard
9399 {
94- new TwoFactorAuth ("Enter Code" , banner , request .get ("responseToken" ));
100+ new TwoFactorAuth (banner , receivedRequest .get ("responseToken" ));
95101 }
96102 case "true" -> // login was successful
97103 {
98104 logger .info ("Login was successful, launching game..." );
99- logger .info ("Took " + attempts + " attempts" );
100- String gameServer = request .get ("gameserver" );
101- String cookie = request .get ("cookie" );
105+ String gameServer = receivedRequest .get ("gameserver" );
106+ String cookie = receivedRequest .get ("cookie" );
102107 LaunchGame launchGame = new LaunchGame (cookie , gameServer );
103108 launchGame .start ();
104109 }
@@ -118,7 +123,7 @@ private void handleLoginRequest(LoginRequest loginRequest) {
118123 logger .error (e );
119124 }
120125 LoginRequest newLoginRequest = new LoginRequest ();
121- newLoginRequest .addDetails ("queueToken" , request .get ("queueToken" ));
126+ newLoginRequest .addDetails ("queueToken" , receivedRequest .get ("queueToken" ));
122127 handleLoginRequest (newLoginRequest );
123128 } else {
124129 try {
@@ -129,14 +134,14 @@ private void handleLoginRequest(LoginRequest loginRequest) {
129134 logger .error (exception );
130135 }
131136 LoginRequest newLoginRequest = new LoginRequest ();
132- newLoginRequest .addDetails ("queueToken" , request .get ("queueToken" ));
137+ newLoginRequest .addDetails ("queueToken" , receivedRequest .get ("queueToken" ));
133138 handleLoginRequest (newLoginRequest );
134139 }
135140 }
136141 default -> // TTR sent back a weird status that we don't know about
137142 {
138143 logger .error ("Weird login response: " + status );
139- logger .info (request );
144+ logger .info (receivedRequest );
140145 JFrame errorWindow =
141146 new ErrorWindow (
142147 "TTR sent back a weird response, or we got an invalid response.\n Check the log for more information." ,
@@ -152,7 +157,7 @@ private void handleLoginRequest(LoginRequest loginRequest) {
152157 * @param loginRequest The login request to process.
153158 * @return The login request that is sent back.
154159 */
155- private LoginRequest sendRequest (LoginRequest loginRequest ) {
160+ private HashMap < String , String > sendRequest (LoginRequest loginRequest ) {
156161 HttpPost post = new HttpPost (REQUEST_URL );
157162 post .setHeader ("User-Agent" , Main .userAgent );
158163 post .setHeader ("Content-type" , "application/x-www-form-urlencoded" );
@@ -174,7 +179,7 @@ private LoginRequest sendRequest(LoginRequest loginRequest) {
174179 String responseData ;
175180
176181 CloseableHttpClient httpClient = HttpClients .createDefault ();
177- CloseableHttpResponse response = null ;
182+ CloseableHttpResponse response ;
178183 try {
179184 response = httpClient .execute (post );
180185 } catch (IOException exception ) {
@@ -193,12 +198,12 @@ private LoginRequest sendRequest(LoginRequest loginRequest) {
193198 return null ;
194199 }
195200 JSONObject responseJSON = new JSONObject (responseData );
196- LoginRequest newLogin = new LoginRequest ();
201+ HashMap < String , String > receivedDetails = new HashMap <> ();
197202
198203 for (String x : responseJSON .keySet ()) {
199- newLogin . addDetails (x , responseJSON .getString (x ));
204+ receivedDetails . put (x , responseJSON .getString (x ));
200205 }
201206
202- return newLogin ;
207+ return receivedDetails ;
203208 }
204209}
0 commit comments