mirror of
https://github.com/SerenityOS/serenity.git
synced 2026-11-07 12:38:38 -10:00
Instead of using a HashMap<ByteString, ByteString, CaseInsensitive...> everywhere, we now encapsulate this in a class. Even better, the new class also allows keeping track of multiple headers with the same name! This will make it possible for HTTP responses to actually retain all their headers on the perilous journey from RequestServer to LibWeb. (cherry picked from commit e636851481eabdf00953573a5eb459ee52feeacc) Updated various SerenityOS components to make it build. Fetch: Make sure we iterate over HeaderMap's headers() This fixes a build failure when built with CMake option '-DENABLE_ALL_THE_DEBUG_MACROS=ON'. (cherry picked from commit c51d01bea712d75f9b2cd700be942935044e49b4)
52 lines
1.1 KiB
C++
52 lines
1.1 KiB
C++
/*
|
|
* Copyright (c) 2018-2020, Andreas Kling <[email protected]>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#include <RequestServer/ConnectionFromClient.h>
|
|
#include <RequestServer/Request.h>
|
|
|
|
namespace RequestServer {
|
|
|
|
Request::Request(ConnectionFromClient& client, NonnullOwnPtr<Core::File>&& output_stream, i32 request_id)
|
|
: m_client(client)
|
|
, m_id(request_id)
|
|
, m_output_stream(move(output_stream))
|
|
{
|
|
}
|
|
|
|
void Request::stop()
|
|
{
|
|
m_client.did_finish_request({}, *this, false);
|
|
}
|
|
|
|
void Request::set_response_headers(HTTP::HeaderMap response_headers)
|
|
{
|
|
m_response_headers = move(response_headers);
|
|
m_client.did_receive_headers({}, *this);
|
|
}
|
|
|
|
void Request::set_certificate(ByteString, ByteString)
|
|
{
|
|
}
|
|
|
|
void Request::did_finish(bool success)
|
|
{
|
|
m_client.did_finish_request({}, *this, success);
|
|
}
|
|
|
|
void Request::did_progress(Optional<u64> total_size, u64 downloaded_size)
|
|
{
|
|
m_total_size = total_size;
|
|
m_downloaded_size = downloaded_size;
|
|
m_client.did_progress_request({}, *this);
|
|
}
|
|
|
|
void Request::did_request_certificates()
|
|
{
|
|
m_client.did_request_certificates({}, *this);
|
|
}
|
|
|
|
}
|