1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 
8 #include <aws/core/Core_EXPORTS.h>
9 
10 #include <aws/core/utils/memory/stl/AWSList.h>
11 #include <aws/core/utils/memory/stl/AWSString.h>
12 #include <aws/core/utils/memory/stl/AWSMap.h>
13 
14 #include <memory>
15 
16 namespace Aws
17 {
18     namespace Http
19     {
20         /**
21          * Models Http methods.
22          */
23         enum class HttpMethod
24         {
25             HTTP_GET,
26             HTTP_POST,
27             HTTP_DELETE,
28             HTTP_PUT,
29             HTTP_HEAD,
30             HTTP_PATCH
31         };
32 
33         /**
34          * Possible default http factory vended http client implementations.
35          */
36         enum class TransferLibType
37         {
38             DEFAULT_CLIENT = 0,
39             CURL_CLIENT,
40             WIN_INET_CLIENT,
41             WIN_HTTP_CLIENT
42         };
43 
44         namespace HttpMethodMapper
45         {
46             /**
47              * Gets the string value of an httpMethod.
48              */
49             AWS_CORE_API const char* GetNameForHttpMethod(HttpMethod httpMethod);
50         } // namespace HttpMethodMapper
51 
52         typedef std::pair<Aws::String, Aws::String> HeaderValuePair;
53         typedef Aws::Map<Aws::String, Aws::String> HeaderValueCollection;
54 
55     } // namespace Http
56 } // namespace Aws
57 
58