aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
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 = g_allocator) noexcept;
30
35 Uri(aws_uri_builder_options &builderOptions, Allocator *allocator = g_allocator) 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 uint16_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 } // namespace Io
101 } // namespace Crt
102} // namespace Aws
#define AWS_CRT_CPP_API
Definition: Exports.h:37
Definition: Uri.h:20
int LastError() const noexcept
Definition: Uri.h:50
aws_byte_cursor ByteCursor
Definition: Types.h:33
aws_allocator Allocator
Definition: StlAllocator.h:17
AWS_CRT_CPP_API Allocator * g_allocator
Definition: Api.cpp:23
Definition: Api.h:14