Coverage Report

Created: 2026-07-25 07:46

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/serenity/Userland/Libraries/LibHTTP/HttpResponse.h
Line
Count
Source
1
/*
2
 * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
3
 * Copyright (c) 2022, the SerenityOS developers.
4
 *
5
 * SPDX-License-Identifier: BSD-2-Clause
6
 */
7
8
#pragma once
9
10
#include <AK/ByteString.h>
11
#include <AK/HashMap.h>
12
#include <LibCore/NetworkResponse.h>
13
#include <LibHTTP/HeaderMap.h>
14
15
namespace HTTP {
16
17
class HttpResponse : public Core::NetworkResponse {
18
public:
19
    virtual ~HttpResponse() override = default;
20
    static NonnullRefPtr<HttpResponse> create(int code, HeaderMap&& headers, size_t downloaded_size)
21
0
    {
22
0
        return adopt_ref(*new HttpResponse(code, move(headers), downloaded_size));
23
0
    }
24
25
0
    int code() const { return m_code; }
26
0
    size_t downloaded_size() const { return m_downloaded_size; }
27
0
    StringView reason_phrase() const { return reason_phrase_for_code(m_code); }
28
0
    HeaderMap const& headers() const { return m_headers; }
29
30
    static StringView reason_phrase_for_code(int code);
31
32
private:
33
    HttpResponse(int code, HeaderMap&&, size_t size);
34
35
    int m_code { 0 };
36
    HeaderMap m_headers;
37
    size_t m_downloaded_size { 0 };
38
};
39
40
}