aws-crt-cpp
Uri.h
Go to the documentation of this file.
1 #pragma once
2 /*
3  * Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License").
6  * You may not use this file except in compliance with the License.
7  * A copy of the License is located at
8  *
9  * http://aws.amazon.com/apache2.0
10  *
11  * or in the "license" file accompanying this file. This file is distributed
12  * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13  * express or implied. See the License for the specific language governing
14  * permissions and limitations under the License.
15  */
16 #include <aws/crt/Types.h>
17 
18 #include <aws/io/uri.h>
19 
20 namespace Aws
21 {
22  namespace Crt
23  {
24  namespace Io
25  {
29  class AWS_CRT_CPP_API Uri final
30  {
31  public:
32  Uri() noexcept;
33  ~Uri();
38  Uri(const ByteCursor &cursor, Allocator *allocator = g_allocator) noexcept;
43  Uri(aws_uri_builder_options &builderOptions, Allocator *allocator = g_allocator) noexcept;
44  Uri(const Uri &);
45  Uri &operator=(const Uri &);
46  Uri(Uri &&uri) noexcept;
47  Uri &operator=(Uri &&) noexcept;
51  operator bool() const noexcept { return m_isInit; }
55  int LastError() const noexcept { return m_lastError; }
56 
60  ByteCursor GetScheme() const noexcept;
61 
66  ByteCursor GetAuthority() const noexcept;
67 
71  ByteCursor GetPath() const noexcept;
72 
76  ByteCursor GetQueryString() const noexcept;
77 
81  ByteCursor GetHostName() const noexcept;
82 
88  uint16_t GetPort() const noexcept;
89 
93  ByteCursor GetPathAndQuery() const noexcept;
94 
98  ByteCursor GetFullUri() const noexcept;
99 
100  private:
101  aws_uri m_uri;
102  int m_lastError;
103  bool m_isInit;
104  };
105  } // namespace Io
106  } // namespace Crt
107 } // namespace Aws
Aws::Crt::Allocator
aws_allocator Allocator
Definition: StlAllocator.h:25
Types.h
AWS_CRT_CPP_API
#define AWS_CRT_CPP_API
Definition: Exports.h:34
Aws::Crt::Io::Uri::LastError
int LastError() const noexcept
Definition: Uri.h:55
Aws::Crt::ByteCursor
aws_byte_cursor ByteCursor
Definition: Types.h:44
Aws::Crt::g_allocator
Allocator * g_allocator
Definition: Api.cpp:28
Aws::Crt::Io::Uri
Definition: Uri.h:30
Aws
Definition: Api.h:25