Sese Framework  2.3.0
A cross-platform framework
Loading...
Searching...
No Matches
ResponseHeader.h
Go to the documentation of this file.
1// Copyright 2024 libsese
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
23#pragma once
25
26namespace sese::net::http {
27
28// GCOVR_EXCL_START
29
33class ResponseHeader : public Header {
34public:
35 using Ptr = std::unique_ptr<ResponseHeader>;
36
37 ResponseHeader() = default;
38
39 ResponseHeader(const std::initializer_list<KeyValueType> &initializer_list)
40 : Header(initializer_list) {}
41
42 void setCode(uint16_t response_code) noexcept { statusCode = response_code; }
43 [[nodiscard]] uint16_t getCode() const noexcept { return statusCode; }
44
45 [[nodiscard]] HttpVersion getVersion() const { return version; }
46 void setVersion(HttpVersion new_version) { this->version = new_version; }
47
48protected:
49 uint16_t statusCode = 200;
51};
52
53// GCOVR_EXCL_STOP
54
55} // namespace sese::net::http