void SheerCloudLink::download_completed(){ QByteArray got = m_reply->readAll(); if( m_out != NULL ) { *m_out = got; }; request_completed(); };
void http_response_t::send( const std::string &payload, bool content_complete, bool close_after_write) { if (content_complete && !keep_alive) close_after_write = true; auto connection = weak_connection.lock(); if (connection != nullptr) { std::stringstream ss; if (!sent_headers) { ss << "HTTP/" << (keep_alive ? "1.1 ": "1.0 ") << code << " " << reason << "\r\n"; for (auto &field_pair : fields) { ss << field_pair.first << ": " << field_pair.second << "\r\n"; } if (payload.size() != 0) { ss << "Content-Type: " << content_type << "\r\n"; //ss << "Transfer-Encoding: chunked\r\n"; if (keep_alive) ss << "Connection: keep-alive\r\n"; ss << "Content-Length: " << payload.size() << "\r\n"; ss << "\r\n"; } } //ss << std::hex << payload.size() << "\r\n"; ss.write(payload.c_str(), payload.size()); //ss << "\r\n"; if (payload.size() != 0 || close_after_write) connection->queue_write(ss.str(), close_after_write); sent_headers = true; if (content_complete) { dlog(log_info, "request completed\n"); connection->request_completed(); } } else { dlog(log_warning, "%s bailed out on send\n"); } }
void SheerCloudLink::delete_completed(){ QByteArray got = m_reply->readAll(); request_completed(); };
void SheerCloudLink::upload_completed(){ QByteArray got = m_reply->readAll(); disconnect( this, SLOT(upload_completed()) ); request_completed(); };
void SheerCloudLink::login_completed(){ if( QString(m_reply->readAll()).contains( "OK" ) ) { m_is_authorized = true; }; request_completed(); };