WebAPI: Add endpoint to set speed limit mode

This commit is contained in:
Vladimir Golovnev
2022-06-18 06:12:43 +03:00
committed by GitHub
parent 3dd616f6ff
commit 7d97905716
3 changed files with 14 additions and 1 deletions

View File

@@ -117,6 +117,18 @@ void TransferController::speedLimitsModeAction()
setResult(QString::number(BitTorrent::Session::instance()->isAltGlobalSpeedLimitEnabled()));
}
void TransferController::setSpeedLimitsModeAction()
{
requireParams({u"mode"_qs});
const std::optional<int> mode = Utils::String::parseInt(params().value(u"mode"_qs));
if (!mode)
throw APIError(APIErrorType::BadParams, tr("'mode': invalid argument"));
// Any non-zero values are considered as alternative mode
BitTorrent::Session::instance()->setAltGlobalSpeedLimitEnabled(mode != 0);
}
void TransferController::banPeersAction()
{
requireParams({u"peers"_qs});