2020import java .net .URLConnection ;
2121import java .util .concurrent .TimeUnit ;
2222
23+ import static com .pengrad .telegrambot .RequestPreprocessorKt .getEmptyRequestPreprocessor ;
24+
2325/**
2426 * Stas Parshin
2527 * 16 October 2015
@@ -30,6 +32,7 @@ public class TelegramBot implements TelegramAware {
3032 private final TelegramBotClient api ;
3133 private final FileApi fileApi ;
3234 private final UpdatesHandler updatesHandler ;
35+ private final RequestPreprocessor requestPreprocessor ;
3336
3437 public TelegramBot (String botToken ) {
3538 this (new Builder (botToken ));
@@ -40,14 +43,17 @@ public TelegramBot(String botToken) {
4043 this .api = builder .api ;
4144 this .fileApi = builder .fileApi ;
4245 this .updatesHandler = builder .updatesHandler ;
46+ this .requestPreprocessor = builder .requestPreprocessor ;
4347 }
4448
4549 @ NotNull
4650 public <T extends BaseRequest <T , R >, R extends BaseResponse > R execute (@ NotNull BaseRequest <T , R > request ) {
51+ requestPreprocessor .process (request );
4752 return api .send (request );
4853 }
4954
5055 public <T extends BaseRequest <T , R >, R extends BaseResponse > Cancellable execute (T request , Callback <T , R > callback ) {
56+ requestPreprocessor .process (request );
5157 return api .send (request , callback );
5258 }
5359
@@ -100,6 +106,7 @@ public static final class Builder {
100106 private FileApi fileApi ;
101107 private TelegramBotClient api ;
102108 private UpdatesHandler updatesHandler ;
109+ private RequestPreprocessor requestPreprocessor ;
103110
104111 private OkHttpClient okHttpClient ;
105112 private String apiUrl ;
@@ -111,6 +118,7 @@ public Builder(String botToken) {
111118 api = new TelegramBotClient (client (null ), gson (), apiUrl (API_URL , botToken , useTestServer ));
112119 fileApi = new FileApi (botToken );
113120 updatesHandler = new UpdatesHandler (100 );
121+ requestPreprocessor = getEmptyRequestPreprocessor ();
114122 }
115123
116124 public Builder debug () {
@@ -143,6 +151,11 @@ public Builder useTestServer(boolean useTestServer) {
143151 return this ;
144152 }
145153
154+ public Builder requestPreprocessor (RequestPreprocessor requestPreprocessor ) {
155+ this .requestPreprocessor = requestPreprocessor ;
156+ return this ;
157+ }
158+
146159 public TelegramBot build () {
147160 if (okHttpClient != null || apiUrl != null ) {
148161 OkHttpClient client = okHttpClient != null ? okHttpClient : client (null );
0 commit comments