Skip to content

Commit

Permalink
Fix http client config
Browse files Browse the repository at this point in the history
  • Loading branch information
drallieiv committed Sep 9, 2021
1 parent 8b30d60 commit 6c77a65
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 5 deletions.
7 changes: 6 additions & 1 deletion KinanCity-mail/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,12 @@
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.6.0</version>
<version>4.9.1</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>logging-interceptor</artifactId>
<version>4.9.1</version>
</dependency>

<!-- Lombok -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.kinancity.mail.mailchanger.password.PasswordProvider;
import com.kinancity.mail.proxy.HttpProxy;
import okhttp3.*;
import okhttp3.logging.HttpLoggingInterceptor;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
Expand Down Expand Up @@ -34,9 +35,15 @@ public class DirectEmailChanger implements EmailChanger{

private SaveAllCookieJar cookieJar;

private HttpLoggingInterceptor logging;

private HttpLoggingInterceptor.Level logginLevel = HttpLoggingInterceptor.Level.BODY;

public DirectEmailChanger(PasswordProvider passwordProvider) {
cookieJar = new SaveAllCookieJar();
this.client = new OkHttpClient.Builder().cookieJar(cookieJar).build();
logging = new HttpLoggingInterceptor();
logging.setLevel(logginLevel);
this.client = new OkHttpClient.Builder().cookieJar(cookieJar).addInterceptor(logging).build();
this.passwordProvider = passwordProvider;
}

Expand Down Expand Up @@ -89,6 +96,7 @@ public boolean acceptChange(EmailChangeRequest emailChangeRequest) {

Request acceptRequest = new Request.Builder()
.header(MailConstants.HEADER_USER_AGENT, MailConstants.CHROME_USER_AGENT)
.header("ContentType", "application/x-www-form-urlencoded")
.header("Origin", "https://club.pokemon.com")
.header("referer", emailChangeRequest.getLink())
.url(emailChangeRequest.getLink())
Expand All @@ -106,7 +114,8 @@ public boolean acceptChange(EmailChangeRequest emailChangeRequest) {
FileLogger.logStatus(emailChangeRequest, FileLogger.OK);
return true;
} else {
logger.info("Email Change FAILED");
logger.info("Email Change FAILED. Missing success message");

FileLogger.logStatus(emailChangeRequest, FileLogger.ERROR);
return false;
}
Expand All @@ -120,7 +129,6 @@ public boolean acceptChange(EmailChangeRequest emailChangeRequest) {

} else {
logger.error("Mail Change failed : Failed to call PTC");
logger.error("Mail Change Response : " + response.toString());
FileLogger.logStatus(emailChangeRequest, FileLogger.ERROR);
return false;
}
Expand Down Expand Up @@ -156,7 +164,7 @@ private String getField(Document doc, String fieldName) throws MailChangerExcept

public void setHttpProxy(HttpProxy httpProxy) {
this.proxy = httpProxy;
this.client = httpProxy.getClient();
this.client = httpProxy.getClient(cookieJar, logging);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import okhttp3.CookieJar;
import okhttp3.Interceptor;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down Expand Up @@ -187,6 +189,10 @@ public HttpProxy(String host, int port) {
}

public OkHttpClient getClient() {
return getClient(null, null);
}

public OkHttpClient getClient(CookieJar cookieJar, Interceptor interceptor) {
Builder clientBuilder = new OkHttpClient.Builder();

// TimeOuts
Expand All @@ -201,6 +207,14 @@ public OkHttpClient getClient() {
clientBuilder.proxyAuthenticator(new ProxyBasicAuthenticator(login, pass));
}

if (cookieJar != null){
clientBuilder.cookieJar(cookieJar);
}

if (interceptor != null){
clientBuilder.addInterceptor(interceptor);
}

return clientBuilder.build();
}

Expand Down

0 comments on commit 6c77a65

Please sign in to comment.