file
HttpRequest.h
Namespaces
- namespace Death
- Shared root namespace.
- namespace Death::IO
- File system, streaming and IO-related classes.
- namespace Death::IO::Http
Classes
- struct Death::IO::Http::Uri
- struct Death::IO::Http::HttpVersion
- struct Death::IO::Http::HttpStatus
- struct Death::IO::Http::Response
- class Death::IO::Http::Socket
- class Death::IO::Http::Request
Enums
-
enum class InternetProtocol : std::
uint8_t { V4, V6 }
Typedefs
-
using HeaderField = std::
pair<Containers::String, Containers::String>
Functions
- auto GetLastError() -> int noexcept
- auto GetAddressFamily(const InternetProtocol internetProtocol) -> int constexpr
-
template<typename C>auto IsWhiteSpaceChar(const C c) -> bool constexpr noexcept
-
template<typename C>auto IsDigitChar(const C c) -> bool constexpr noexcept
-
template<typename C>auto IsAlphaChar(const C c) -> bool constexpr noexcept
-
template<typename C>auto IsTokenChar(const C c) -> bool constexpr noexcept
-
template<typename C>auto IsVisibleChar(const C c) -> bool constexpr noexcept
-
template<typename C>auto IsObsoleteTextChar(const C c) -> bool constexpr noexcept
-
template<class Iterator>auto SkipWhiteSpaces(const Iterator begin, const Iterator end) -> Iterator
-
template<typename T, typename C, class = typename std::auto DigitToUint(const C c) -> T constexpr
enable_if<std:: is_unsigned<T>::value>::type> -
template<typename T, typename C, class = typename std::auto HexDigitToUint(const C c) -> T constexpr
enable_if<std:: is_unsigned<T>::value>::type> -
template<class Iterator>auto ParseUri(const Iterator begin, const Iterator end) -> Uri
-
template<class Iterator>auto ParseHttpVersion(const Iterator begin, const Iterator end) -> std::
pair<Iterator, HttpVersion> -
template<class Iterator>auto ParseStatusCode(const Iterator begin, const Iterator end) -> std::
pair<Iterator, std:: uint16_t> -
template<class Iterator>auto ParseReasonPhrase(const Iterator begin, const Iterator end) -> std::
pair<Iterator, std:: string> -
template<class Iterator>auto ParseToken(const Iterator begin, const Iterator end) -> std::
pair<Iterator, std:: string> -
template<class Iterator>auto ParseFieldValue(const Iterator begin, const Iterator end) -> std::
pair<Iterator, std:: string> -
template<class Iterator>auto ParseFieldContent(const Iterator begin, const Iterator end) -> std::
pair<Iterator, std:: string> -
template<class Iterator>auto ParseHeaderField(const Iterator begin, const Iterator end) -> std::
pair<Iterator, HeaderField> -
template<class Iterator>auto ParseStatusLine(const Iterator begin, const Iterator end) -> std::
pair<Iterator, HttpStatus> -
template<typename T, class Iterator, class = typename std::auto StringToUint(const Iterator begin, const Iterator end) -> T
enable_if<std:: is_unsigned<T>::value>::type> -
template<typename T, class Iterator, class = typename std::auto HexStringToUint(const Iterator begin, const Iterator end) -> T
enable_if<std:: is_unsigned<T>::value>::type> - auto EncodeRequestLine(const Containers::StringView& method, const Containers::StringView& target) -> Containers::String
- auto EncodeHeaderFields(const Containers::SmallVectorImpl<HeaderField>& headerFields) -> Containers::String
-
template<class Iterator>auto EncodeBase64(const Iterator begin, const Iterator end) -> std::
string -
void EncodeHtml(const Uri& uri,
const Containers::StringView& method,
const Containers::ArrayView<uint8_t>& body,
const Containers::SmallVectorImpl<HeaderField>& headerFields,
Containers::SmallVectorImpl<std::
uint8_t>& targetBuffer)