Support custom api url
This commit is contained in:
parent
48a7503c7f
commit
db229bb66e
@ -3,8 +3,7 @@ package org.telegram.telegrambots;
|
|||||||
/**
|
/**
|
||||||
* @author Ruben Bermudez
|
* @author Ruben Bermudez
|
||||||
* @version 1.0
|
* @version 1.0
|
||||||
* @brief Constants needed for Telegram Bots API
|
* Constants needed for Telegram Bots API
|
||||||
* @date 20 of June of 2015
|
|
||||||
*/
|
*/
|
||||||
public class ApiConstants {
|
public class ApiConstants {
|
||||||
public static final String BASE_URL = "https://api.telegram.org/bot";
|
public static final String BASE_URL = "https://api.telegram.org/bot";
|
||||||
|
@ -7,4 +7,5 @@ package org.telegram.telegrambots.generics;
|
|||||||
* @date 29 of October of 2016
|
* @date 29 of October of 2016
|
||||||
*/
|
*/
|
||||||
public interface BotOptions {
|
public interface BotOptions {
|
||||||
|
String getBaseUrl();
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,6 @@ import org.apache.http.impl.client.CloseableHttpClient;
|
|||||||
import org.apache.http.impl.client.HttpClientBuilder;
|
import org.apache.http.impl.client.HttpClientBuilder;
|
||||||
import org.apache.http.message.BasicNameValuePair;
|
import org.apache.http.message.BasicNameValuePair;
|
||||||
import org.apache.http.util.EntityUtils;
|
import org.apache.http.util.EntityUtils;
|
||||||
import org.telegram.telegrambots.ApiConstants;
|
|
||||||
import org.telegram.telegrambots.api.methods.BotApiMethod;
|
import org.telegram.telegrambots.api.methods.BotApiMethod;
|
||||||
import org.telegram.telegrambots.api.methods.send.*;
|
import org.telegram.telegrambots.api.methods.send.*;
|
||||||
import org.telegram.telegrambots.api.objects.File;
|
import org.telegram.telegrambots.api.objects.File;
|
||||||
@ -755,6 +754,6 @@ public abstract class DefaultAbsSender extends AbsSender {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected String getBaseUrl() {
|
protected String getBaseUrl() {
|
||||||
return ApiConstants.BASE_URL + getBotToken() + "/";
|
return options.getBaseUrl() + getBotToken() + "/";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package org.telegram.telegrambots.bots;
|
package org.telegram.telegrambots.bots;
|
||||||
|
|
||||||
import org.apache.http.client.config.RequestConfig;
|
import org.apache.http.client.config.RequestConfig;
|
||||||
|
import org.telegram.telegrambots.ApiConstants;
|
||||||
import org.telegram.telegrambots.generics.BotOptions;
|
import org.telegram.telegrambots.generics.BotOptions;
|
||||||
import org.telegram.telegrambots.updatesreceivers.ExponentialBackOff;
|
import org.telegram.telegrambots.updatesreceivers.ExponentialBackOff;
|
||||||
|
|
||||||
@ -17,10 +18,20 @@ public class DefaultBotOptions implements BotOptions {
|
|||||||
private RequestConfig requestConfig;
|
private RequestConfig requestConfig;
|
||||||
private ExponentialBackOff exponentialBackOff;
|
private ExponentialBackOff exponentialBackOff;
|
||||||
private Integer maxWebhookConnections;
|
private Integer maxWebhookConnections;
|
||||||
|
private String baseUrl;
|
||||||
private List<String> allowedUpdates;
|
private List<String> allowedUpdates;
|
||||||
|
|
||||||
public DefaultBotOptions() {
|
public DefaultBotOptions() {
|
||||||
maxThreads = 1;
|
maxThreads = 1;
|
||||||
|
baseUrl = ApiConstants.BASE_URL;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getBaseUrl() {
|
||||||
|
return baseUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBaseUrl(String baseUrl) {
|
||||||
|
this.baseUrl = baseUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMaxThreads(int maxThreads) {
|
public void setMaxThreads(int maxThreads) {
|
||||||
|
@ -38,7 +38,7 @@ public abstract class TelegramLongPollingBot extends DefaultAbsSender implements
|
|||||||
@Override
|
@Override
|
||||||
public void clearWebhook() throws TelegramApiRequestException {
|
public void clearWebhook() throws TelegramApiRequestException {
|
||||||
try (CloseableHttpClient httpclient = HttpClientBuilder.create().setSSLHostnameVerifier(new NoopHostnameVerifier()).build()) {
|
try (CloseableHttpClient httpclient = HttpClientBuilder.create().setSSLHostnameVerifier(new NoopHostnameVerifier()).build()) {
|
||||||
String url = ApiConstants.BASE_URL + getBotToken() + "/" + SetWebhook.PATH;
|
String url = getOptions().getBaseUrl() + getBotToken() + "/" + SetWebhook.PATH;
|
||||||
HttpGet httpGet = new HttpGet(url);
|
HttpGet httpGet = new HttpGet(url);
|
||||||
httpGet.setConfig(getOptions().getRequestConfig());
|
httpGet.setConfig(getOptions().getRequestConfig());
|
||||||
try (CloseableHttpResponse response = httpclient.execute(httpGet)) {
|
try (CloseableHttpResponse response = httpclient.execute(httpGet)) {
|
||||||
|
@ -45,7 +45,7 @@ public abstract class TelegramWebhookBot extends DefaultAbsSender implements Web
|
|||||||
@Override
|
@Override
|
||||||
public void setWebhook(String url, String publicCertificatePath) throws TelegramApiRequestException {
|
public void setWebhook(String url, String publicCertificatePath) throws TelegramApiRequestException {
|
||||||
try (CloseableHttpClient httpclient = HttpClientBuilder.create().setSSLHostnameVerifier(new NoopHostnameVerifier()).build()) {
|
try (CloseableHttpClient httpclient = HttpClientBuilder.create().setSSLHostnameVerifier(new NoopHostnameVerifier()).build()) {
|
||||||
String requestUrl = ApiConstants.BASE_URL + getBotToken() + "/" + SetWebhook.PATH;
|
String requestUrl = getBaseUrl() + getBotToken() + "/" + SetWebhook.PATH;
|
||||||
|
|
||||||
HttpPost httppost = new HttpPost(requestUrl);
|
HttpPost httppost = new HttpPost(requestUrl);
|
||||||
httppost.setConfig(botOptions.getRequestConfig());
|
httppost.setConfig(botOptions.getRequestConfig());
|
||||||
|
@ -186,7 +186,7 @@ public class DefaultBotSession implements BotSession {
|
|||||||
request.setAllowedUpdates(options.getAllowedUpdates());
|
request.setAllowedUpdates(options.getAllowedUpdates());
|
||||||
}
|
}
|
||||||
|
|
||||||
String url = ApiConstants.BASE_URL + token + "/" + GetUpdates.PATH;
|
String url = options.getBaseUrl() + token + "/" + GetUpdates.PATH;
|
||||||
//http client
|
//http client
|
||||||
HttpPost httpPost = new HttpPost(url);
|
HttpPost httpPost = new HttpPost(url);
|
||||||
httpPost.addHeader("charset", StandardCharsets.UTF_8.name());
|
httpPost.addHeader("charset", StandardCharsets.UTF_8.name());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user