mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Bugfixes in rldp-http-proxy and http parser
This commit is contained in:
parent
4b940f8bad
commit
69cee95abb
4 changed files with 7 additions and 5 deletions
|
@ -79,10 +79,10 @@ td::Status HttpInboundConnection::receive(td::ChainBufferReader &input) {
|
|||
send_client_error();
|
||||
return td::Status::OK();
|
||||
}
|
||||
cur_request_ = R.move_as_ok();
|
||||
if (exit_loop) {
|
||||
return td::Status::OK();
|
||||
}
|
||||
cur_request_ = R.move_as_ok();
|
||||
}
|
||||
|
||||
auto payload = cur_request_->create_empty_payload().move_as_ok();
|
||||
|
|
|
@ -42,10 +42,10 @@ td::Status HttpOutboundConnection::receive(td::ChainBufferReader &input) {
|
|||
answer_error(HttpStatusCode::status_bad_request, "", std::move(promise_));
|
||||
return td::Status::OK();
|
||||
}
|
||||
cur_response_ = R.move_as_ok();
|
||||
if (exit_loop) {
|
||||
return td::Status::OK();
|
||||
}
|
||||
cur_response_ = R.move_as_ok();
|
||||
}
|
||||
|
||||
if (cur_response_->code() == 100) {
|
||||
|
|
|
@ -587,7 +587,7 @@ tl_object_ptr<ton_api::http_payloadPart> HttpPayload::store_tl(size_t max_size)
|
|||
max_size -= s.size();
|
||||
}
|
||||
obj->data_.truncate(obj->data_.size() - S.size());
|
||||
if (chunks_.size() != 0) {
|
||||
if (chunks_.size() != 0 || !parse_completed()) {
|
||||
return obj;
|
||||
}
|
||||
if (!written_zero_chunk_) {
|
||||
|
|
|
@ -117,7 +117,7 @@ class HttpRemote : public td::actor::Actor {
|
|||
}
|
||||
});
|
||||
td::actor::send_closure(client_, &ton::http::HttpClient::send_request, std::move(request), std::move(payload),
|
||||
td::Timestamp::in(30.0), std::move(P));
|
||||
td::Timestamp::never(), std::move(P));
|
||||
} else {
|
||||
ton::http::answer_error(ton::http::HttpStatusCode::status_bad_request, "", std::move(promise));
|
||||
}
|
||||
|
@ -801,6 +801,7 @@ class RldpToTcpRequestSender : public td::actor::Actor {
|
|||
, dst_(dst)
|
||||
, request_(std::move(request))
|
||||
, request_payload_(std::move(request_payload))
|
||||
, proto_version_(request_->proto_version())
|
||||
, promise_(std::move(promise))
|
||||
, adnl_(adnl)
|
||||
, rldp_(rldp)
|
||||
|
@ -836,7 +837,7 @@ class RldpToTcpRequestSender : public td::actor::Actor {
|
|||
|
||||
void abort_query(td::Status error) {
|
||||
LOG(INFO) << "aborting http over rldp query: " << error;
|
||||
promise_.set_result(create_error_response(request_->proto_version(), 502, "Bad Gateway"));
|
||||
promise_.set_result(create_error_response(proto_version_, 502, "Bad Gateway"));
|
||||
stop();
|
||||
}
|
||||
|
||||
|
@ -848,6 +849,7 @@ class RldpToTcpRequestSender : public td::actor::Actor {
|
|||
|
||||
std::unique_ptr<ton::http::HttpRequest> request_;
|
||||
std::shared_ptr<ton::http::HttpPayload> request_payload_;
|
||||
std::string proto_version_;
|
||||
|
||||
td::Promise<td::BufferSlice> promise_;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue