aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
Loading...
Searching...
No Matches
Uri.h
Go to the documentation of this file.
1#pragma once
6#include <aws/crt/Types.h>
7
8#include <aws/io/uri.h>
9
10namespace Aws
11{
12 namespace Crt
13 {
14 namespace Io
15 {
19 class AWS_CRT_CPP_API Uri final
20 {
21 public:
22 Uri() noexcept;
23 ~Uri();
24
29 Uri(const ByteCursor &cursor, Allocator *allocator = ApiAllocator()) noexcept;
30
35 Uri(aws_uri_builder_options &builderOptions, Allocator *allocator = ApiAllocator()) noexcept;
36
37 Uri(const Uri &);
38 Uri &operator=(const Uri &);
39 Uri(Uri &&uri) noexcept;
40 Uri &operator=(Uri &&) noexcept;
41
45 operator bool() const noexcept { return m_isInit; }
46
50 int LastError() const noexcept { return m_lastError; }
51
55 ByteCursor GetScheme() const noexcept;
56
61 ByteCursor GetAuthority() const noexcept;
62
66 ByteCursor GetPath() const noexcept;
67
71 ByteCursor GetQueryString() const noexcept;
72
76 ByteCursor GetHostName() const noexcept;
77
83 uint32_t GetPort() const noexcept;
84
88 ByteCursor GetPathAndQuery() const noexcept;
89
93 ByteCursor GetFullUri() const noexcept;
94
95 private:
96 aws_uri m_uri;
97 int m_lastError;
98 bool m_isInit;
99 };
100
101 AWS_CRT_CPP_API Aws::Crt::String EncodeQueryParameterValue(ByteCursor paramValue);
102
103 } // namespace Io
104 } // namespace Crt
105} // namespace Aws
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition Uri.h:20
int LastError() const noexcept
Definition Uri.h:50
aws_byte_cursor ByteCursor
Definition Types.h:31
aws_allocator Allocator
Definition Allocator.h:14
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition Allocator.cpp:24
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition Types.h:45
Definition Allocator.h:11