|
39 | 39 | #include "td/telegram/HashtagHints.h"
|
40 | 40 | #include "td/telegram/InlineQueriesManager.h"
|
41 | 41 | #include "td/telegram/LanguagePackManager.h"
|
| 42 | +#include "td/telegram/Logging.h" |
42 | 43 | #include "td/telegram/MessageEntity.h"
|
43 | 44 | #include "td/telegram/MessageId.h"
|
44 | 45 | #include "td/telegram/MessagesManager.h"
|
|
76 | 77 |
|
77 | 78 | #include "td/mtproto/utils.h" // for create_storer, fetch_result, etc, TODO
|
78 | 79 |
|
79 |
| -#include "tdnet/td/net/TransparentProxy.h" |
80 |
| - |
81 | 80 | #include "td/utils/buffer.h"
|
82 | 81 | #include "td/utils/filesystem.h"
|
83 | 82 | #include "td/utils/format.h"
|
@@ -3116,7 +3115,13 @@ bool Td::is_synchronous_request(int32 id) {
|
3116 | 3115 | case td_api::getFileExtension::ID:
|
3117 | 3116 | case td_api::cleanFileName::ID:
|
3118 | 3117 | case td_api::getLanguagePackString::ID:
|
3119 |
| - case td_api::testSetLogTagVerbosityLevel::ID: |
| 3118 | + case td_api::setLogStream::ID: |
| 3119 | + case td_api::getLogStream::ID: |
| 3120 | + case td_api::setLogVerbosityLevel::ID: |
| 3121 | + case td_api::getLogVerbosityLevel::ID: |
| 3122 | + case td_api::getLogTags::ID: |
| 3123 | + case td_api::setLogTagVerbosityLevel::ID: |
| 3124 | + case td_api::getLogTagVerbosityLevel::ID: |
3120 | 3125 | return true;
|
3121 | 3126 | default:
|
3122 | 3127 | return false;
|
@@ -6715,6 +6720,34 @@ void Td::on_request(uint64 id, const td_api::getLanguagePackString &request) {
|
6715 | 6720 | UNREACHABLE();
|
6716 | 6721 | }
|
6717 | 6722 |
|
| 6723 | +void Td::on_request(uint64 id, const td_api::setLogStream &request) { |
| 6724 | + UNREACHABLE(); |
| 6725 | +} |
| 6726 | + |
| 6727 | +void Td::on_request(uint64 id, const td_api::getLogStream &request) { |
| 6728 | + UNREACHABLE(); |
| 6729 | +} |
| 6730 | + |
| 6731 | +void Td::on_request(uint64 id, const td_api::setLogVerbosityLevel &request) { |
| 6732 | + UNREACHABLE(); |
| 6733 | +} |
| 6734 | + |
| 6735 | +void Td::on_request(uint64 id, const td_api::getLogVerbosityLevel &request) { |
| 6736 | + UNREACHABLE(); |
| 6737 | +} |
| 6738 | + |
| 6739 | +void Td::on_request(uint64 id, const td_api::getLogTags &request) { |
| 6740 | + UNREACHABLE(); |
| 6741 | +} |
| 6742 | + |
| 6743 | +void Td::on_request(uint64 id, const td_api::setLogTagVerbosityLevel &request) { |
| 6744 | + UNREACHABLE(); |
| 6745 | +} |
| 6746 | + |
| 6747 | +void Td::on_request(uint64 id, const td_api::getLogTagVerbosityLevel &request) { |
| 6748 | + UNREACHABLE(); |
| 6749 | +} |
| 6750 | + |
6718 | 6751 | td_api::object_ptr<td_api::Object> Td::do_static_request(const td_api::getTextEntities &request) {
|
6719 | 6752 | if (!check_utf8(request.text_)) {
|
6720 | 6753 | return make_error(400, "Text must be encoded in UTF-8");
|
@@ -6769,77 +6802,67 @@ td_api::object_ptr<td_api::Object> Td::do_static_request(const td_api::getLangua
|
6769 | 6802 | request.language_pack_database_path_, request.localization_target_, request.language_pack_id_, request.key_);
|
6770 | 6803 | }
|
6771 | 6804 |
|
6772 |
| -// test |
6773 |
| -void Td::on_request(uint64 id, td_api::testNetwork &request) { |
6774 |
| - create_handler<TestQuery>(id)->send(); |
| 6805 | +td_api::object_ptr<td_api::Object> Td::do_static_request(td_api::setLogStream &request) { |
| 6806 | + auto result = Logging::set_current_stream(std::move(request.log_stream_)); |
| 6807 | + if (result.is_ok()) { |
| 6808 | + return td_api::make_object<td_api::ok>(); |
| 6809 | + } else { |
| 6810 | + return make_error(400, result.message()); |
| 6811 | + } |
6775 | 6812 | }
|
6776 | 6813 |
|
6777 |
| -void Td::on_request(uint64 id, td_api::testGetDifference &request) { |
6778 |
| - updates_manager_->get_difference("testGetDifference"); |
6779 |
| - send_closure(actor_id(this), &Td::send_result, id, make_tl_object<td_api::ok>()); |
| 6814 | +td_api::object_ptr<td_api::Object> Td::do_static_request(const td_api::getLogStream &request) { |
| 6815 | + auto result = Logging::get_current_stream(); |
| 6816 | + if (result.is_ok()) { |
| 6817 | + return result.move_as_ok(); |
| 6818 | + } else { |
| 6819 | + return make_error(400, result.error().message()); |
| 6820 | + } |
6780 | 6821 | }
|
6781 | 6822 |
|
6782 |
| -int *Td::get_log_verbosity_level(Slice name) { |
6783 |
| - if (name == "td_init") { |
6784 |
| - return &VERBOSITY_NAME(td_init); |
6785 |
| - } |
6786 |
| - if (name == "update_file") { |
6787 |
| - return &VERBOSITY_NAME(update_file); |
6788 |
| - } |
6789 |
| - if (name == "connections") { |
6790 |
| - return &VERBOSITY_NAME(connections); |
6791 |
| - } |
6792 |
| - if (name == "binlog") { |
6793 |
| - return &VERBOSITY_NAME(binlog); |
6794 |
| - } |
6795 |
| - if (name == "proxy") { |
6796 |
| - return &VERBOSITY_NAME(proxy); |
6797 |
| - } |
6798 |
| - if (name == "net_query") { |
6799 |
| - return &VERBOSITY_NAME(net_query); |
6800 |
| - } |
6801 |
| - if (name == "td_requests") { |
6802 |
| - return &VERBOSITY_NAME(td_requests); |
6803 |
| - } |
6804 |
| - if (name == "dc") { |
6805 |
| - return &VERBOSITY_NAME(dc); |
6806 |
| - } |
6807 |
| - if (name == "files") { |
6808 |
| - return &VERBOSITY_NAME(files); |
6809 |
| - } |
6810 |
| - if (name == "mtproto") { |
6811 |
| - return &VERBOSITY_NAME(mtproto); |
6812 |
| - } |
6813 |
| - if (name == "raw_mtproto") { |
6814 |
| - return &VERBOSITY_NAME(raw_mtproto); |
6815 |
| - } |
6816 |
| - if (name == "fd") { |
6817 |
| - return &VERBOSITY_NAME(fd); |
6818 |
| - } |
6819 |
| - if (name == "actor") { |
6820 |
| - return &VERBOSITY_NAME(actor); |
6821 |
| - } |
6822 |
| - if (name == "buffer") { |
6823 |
| - return &VERBOSITY_NAME(buffer); |
6824 |
| - } |
6825 |
| - if (name == "sqlite") { |
6826 |
| - return &VERBOSITY_NAME(sqlite); |
| 6823 | +td_api::object_ptr<td_api::Object> Td::do_static_request(const td_api::setLogVerbosityLevel &request) { |
| 6824 | + auto result = Logging::set_verbosity_level(static_cast<int>(request.new_verbosity_level_)); |
| 6825 | + if (result.is_ok()) { |
| 6826 | + return td_api::make_object<td_api::ok>(); |
| 6827 | + } else { |
| 6828 | + return make_error(400, result.message()); |
6827 | 6829 | }
|
6828 |
| - return nullptr; |
6829 | 6830 | }
|
6830 | 6831 |
|
6831 |
| -void Td::on_request(uint64 id, td_api::testSetLogTagVerbosityLevel &request) { |
6832 |
| - UNREACHABLE(); |
| 6832 | +td_api::object_ptr<td_api::Object> Td::do_static_request(const td_api::getLogVerbosityLevel &request) { |
| 6833 | + return td_api::make_object<td_api::logVerbosityLevel>(Logging::get_verbosity_level()); |
6833 | 6834 | }
|
6834 | 6835 |
|
6835 |
| -td_api::object_ptr<td_api::Object> Td::do_static_request(const td_api::testSetLogTagVerbosityLevel &request) { |
6836 |
| - int *level = get_log_verbosity_level(request.tag_); |
6837 |
| - if (level == nullptr) { |
6838 |
| - return td_api::make_object<td_api::error>(400, "Log tag is not found"); |
| 6836 | +td_api::object_ptr<td_api::Object> Td::do_static_request(const td_api::getLogTags &request) { |
| 6837 | + return td_api::make_object<td_api::logTags>(Logging::get_tags()); |
| 6838 | +} |
| 6839 | + |
| 6840 | +td_api::object_ptr<td_api::Object> Td::do_static_request(const td_api::setLogTagVerbosityLevel &request) { |
| 6841 | + auto result = Logging::set_tag_verbosity_level(request.tag_, static_cast<int>(request.new_verbosity_level_)); |
| 6842 | + if (result.is_ok()) { |
| 6843 | + return td_api::make_object<td_api::ok>(); |
| 6844 | + } else { |
| 6845 | + return make_error(400, result.message()); |
| 6846 | + } |
| 6847 | +} |
| 6848 | + |
| 6849 | +td_api::object_ptr<td_api::Object> Td::do_static_request(const td_api::getLogTagVerbosityLevel &request) { |
| 6850 | + auto result = Logging::get_tag_verbosity_level(request.tag_); |
| 6851 | + if (result.is_ok()) { |
| 6852 | + return td_api::make_object<td_api::logVerbosityLevel>(result.ok()); |
| 6853 | + } else { |
| 6854 | + return make_error(400, result.error().message()); |
6839 | 6855 | }
|
6840 |
| - *level = clamp(static_cast<int>(request.new_verbosity_level_), 1, VERBOSITY_NAME(NEVER)); |
| 6856 | +} |
6841 | 6857 |
|
6842 |
| - return td_api::make_object<td_api::ok>(); |
| 6858 | +// test |
| 6859 | +void Td::on_request(uint64 id, td_api::testNetwork &request) { |
| 6860 | + create_handler<TestQuery>(id)->send(); |
| 6861 | +} |
| 6862 | + |
| 6863 | +void Td::on_request(uint64 id, td_api::testGetDifference &request) { |
| 6864 | + updates_manager_->get_difference("testGetDifference"); |
| 6865 | + send_closure(actor_id(this), &Td::send_result, id, make_tl_object<td_api::ok>()); |
6843 | 6866 | }
|
6844 | 6867 |
|
6845 | 6868 | void Td::on_request(uint64 id, td_api::testUseUpdate &request) {
|
|
0 commit comments