20
20
import java .net .URLConnection ;
21
21
import java .util .concurrent .TimeUnit ;
22
22
23
+ import static com .pengrad .telegrambot .RequestPreprocessorKt .getEmptyRequestPreprocessor ;
24
+
23
25
/**
24
26
* Stas Parshin
25
27
* 16 October 2015
@@ -30,6 +32,7 @@ public class TelegramBot implements TelegramAware {
30
32
private final TelegramBotClient api ;
31
33
private final FileApi fileApi ;
32
34
private final UpdatesHandler updatesHandler ;
35
+ private final RequestPreprocessor requestPreprocessor ;
33
36
34
37
public TelegramBot (String botToken ) {
35
38
this (new Builder (botToken ));
@@ -40,14 +43,17 @@ public TelegramBot(String botToken) {
40
43
this .api = builder .api ;
41
44
this .fileApi = builder .fileApi ;
42
45
this .updatesHandler = builder .updatesHandler ;
46
+ this .requestPreprocessor = builder .requestPreprocessor ;
43
47
}
44
48
45
49
@ NotNull
46
50
public <T extends BaseRequest <T , R >, R extends BaseResponse > R execute (@ NotNull BaseRequest <T , R > request ) {
51
+ requestPreprocessor .process (request );
47
52
return api .send (request );
48
53
}
49
54
50
55
public <T extends BaseRequest <T , R >, R extends BaseResponse > Cancellable execute (T request , Callback <T , R > callback ) {
56
+ requestPreprocessor .process (request );
51
57
return api .send (request , callback );
52
58
}
53
59
@@ -100,6 +106,7 @@ public static final class Builder {
100
106
private FileApi fileApi ;
101
107
private TelegramBotClient api ;
102
108
private UpdatesHandler updatesHandler ;
109
+ private RequestPreprocessor requestPreprocessor ;
103
110
104
111
private OkHttpClient okHttpClient ;
105
112
private String apiUrl ;
@@ -111,6 +118,7 @@ public Builder(String botToken) {
111
118
api = new TelegramBotClient (client (null ), gson (), apiUrl (API_URL , botToken , useTestServer ));
112
119
fileApi = new FileApi (botToken );
113
120
updatesHandler = new UpdatesHandler (100 );
121
+ requestPreprocessor = getEmptyRequestPreprocessor ();
114
122
}
115
123
116
124
public Builder debug () {
@@ -143,6 +151,11 @@ public Builder useTestServer(boolean useTestServer) {
143
151
return this ;
144
152
}
145
153
154
+ public Builder requestPreprocessor (RequestPreprocessor requestPreprocessor ) {
155
+ this .requestPreprocessor = requestPreprocessor ;
156
+ return this ;
157
+ }
158
+
146
159
public TelegramBot build () {
147
160
if (okHttpClient != null || apiUrl != null ) {
148
161
OkHttpClient client = okHttpClient != null ? okHttpClient : client (null );
0 commit comments