1 /*
2  * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "constant.h"
17 
18 namespace OHOS::NetStack::Http {
19 const char *const HttpConstant::HTTP_METHOD_GET = "GET";
20 const char *const HttpConstant::HTTP_METHOD_HEAD = "HEAD";
21 const char *const HttpConstant::HTTP_METHOD_OPTIONS = "OPTIONS";
22 const char *const HttpConstant::HTTP_METHOD_TRACE = "TRACE";
23 const char *const HttpConstant::HTTP_METHOD_DELETE = "DELETE";
24 const char *const HttpConstant::HTTP_METHOD_POST = "POST";
25 const char *const HttpConstant::HTTP_METHOD_PUT = "PUT";
26 const char *const HttpConstant::HTTP_METHOD_CONNECT = "CONNECT";
27 
28 const uint32_t HttpConstant::DEFAULT_MAX_LIMIT = 5 * 1024 * 1024;
29 const uint32_t HttpConstant::MAX_LIMIT = 100 * 1024 * 1024;
30 const uint32_t HttpConstant::DEFAULT_READ_TIMEOUT = 60000;
31 const uint32_t HttpConstant::DEFAULT_CONNECT_TIMEOUT = 60000;
32 
33 const size_t HttpConstant::MAX_JSON_PARSE_SIZE = 65536;
34 
35 const char *const HttpConstant::PARAM_KEY_METHOD = "method";
36 const char *const HttpConstant::PARAM_KEY_EXTRA_DATA = "extraData";
37 const char *const HttpConstant::PARAM_KEY_HEADER = "header";
38 const char *const HttpConstant::PARAM_KEY_MAX_LIMIT = "maxLimit";
39 const char *const HttpConstant::PARAM_KEY_READ_TIMEOUT = "readTimeout";
40 const char *const HttpConstant::PARAM_KEY_DNS_SERVERS = "dnsServers";
41 const char *const HttpConstant::PARAM_KEY_RESUME_FROM = "resumeFrom";
42 const char *const HttpConstant::PARAM_KEY_RESUME_TO = "resumeTo";
43 const char *const HttpConstant::PARAM_KEY_CONNECT_TIMEOUT = "connectTimeout";
44 const char *const HttpConstant::PARAM_KEY_USING_PROTOCOL = "usingProtocol";
45 const char *const HttpConstant::PARAM_KEY_USING_CACHE = "usingCache";
46 const char *const HttpConstant::PARAM_KEY_EXPECT_DATA_TYPE = "expectDataType";
47 const char *const HttpConstant::PARAM_KEY_PRIORITY = "priority";
48 
49 const char *const HttpConstant::PARAM_KEY_USING_HTTP_PROXY = "usingProxy";
50 const char *const HttpConstant::PARAM_KEY_CA_PATH = "caPath";
51 const char *const HttpConstant::PARAM_KEY_DOH_URL = "dnsOverHttps";
52 const char *const HttpConstant::PARAM_KEY_CLIENT_CERT = "clientCert";
53 const char *const HttpConstant::PARAM_KEY_MULTI_FORM_DATA_LIST = "multiFormDataList";
54 
55 const char *const HttpConstant::PARAM_KEY_CERTIFICATE_PINNING = "certificatePinning";
56 
57 const char *const HttpConstant::HTTP_PROXY_KEY_HOST = "host";
58 const char *const HttpConstant::HTTP_PROXY_KEY_PORT = "port";
59 const char *const HttpConstant::HTTP_PROXY_KEY_EXCLUSION_LIST = "exclusionList";
60 
61 const char *const HttpConstant::HTTP_CLIENT_CERT = "certPath";
62 const char *const HttpConstant::HTTP_CLIENT_KEY = "keyPath";
63 const char *const HttpConstant::HTTP_CLIENT_CERT_TYPE = "certType";
64 const char *const HttpConstant::HTTP_CLIENT_KEY_PASSWD = "keyPassword";
65 
66 const char *const HttpConstant::HTTP_PUBLIC_KEY_HASH = "publicKeyHash";
67 const char *const HttpConstant::HTTP_HASH_ALGORITHM = "hashAlgorithm";
68 
69 const char *const HttpConstant::HTTP_CERT_TYPE_PEM = "PEM";
70 const char *const HttpConstant::HTTP_CERT_TYPE_DER = "DER";
71 const char *const HttpConstant::HTTP_CERT_TYPE_P12 = "P12";
72 
73 const char *const HttpConstant::HTTP_PROXY_EXCLUSIONS_SEPARATOR = ",";
74 
75 const char *const HttpConstant::RESPONSE_KEY_RESULT = "result";
76 const char *const HttpConstant::RESPONSE_KEY_RESPONSE_CODE = "responseCode";
77 const char *const HttpConstant::RESPONSE_KEY_HEADER = "header";
78 const char *const HttpConstant::RESPONSE_KEY_COOKIES = "cookies";
79 const char *const HttpConstant::RESPONSE_KEY_RESULT_TYPE = "resultType";
80 const char *const HttpConstant::RESPONSE_KEY_SET_COOKIE = "set-cookie";
81 const char *const HttpConstant::RESPONSE_KEY_SET_COOKIE_SEPARATOR = "\r\n";
82 
83 const char *const HttpConstant::HTTP_MULTI_FORM_DATA_NAME = "name";
84 const char *const HttpConstant::HTTP_MULTI_FORM_DATA_CONTENT_TYPE = "contentType";
85 const char *const HttpConstant::HTTP_MULTI_FORM_DATA_REMOTE_FILE_NAME = "remoteFileName";
86 const char *const HttpConstant::HTTP_MULTI_FORM_DATA_DATA = "data";
87 const char *const HttpConstant::HTTP_MULTI_FORM_DATA_FILE_PATH = "filePath";
88 
89 const char *const HttpConstant::HTTP_URL_PARAM_START = "?";
90 const char *const HttpConstant::HTTP_URL_PARAM_SEPARATOR = "&";
91 const char *const HttpConstant::HTTP_URL_NAME_VALUE_SEPARATOR = "=";
92 const char *const HttpConstant::HTTP_HEADER_SEPARATOR = ":";
93 const char *const HttpConstant::HTTP_HEADER_BLANK_SEPARATOR = ";";
94 const char *const HttpConstant::HTTP_LINE_SEPARATOR = "\r\n";
95 const char *const HttpConstant::HTTP_RESPONSE_HEADER_SEPARATOR = "\r\n\r\n";
96 
97 const char *const HttpConstant::HTTP_DEFAULT_USER_AGENT = "libcurl-agent/1.0";
98 
99 const char *const HttpConstant::HTTP_PREPARE_CA_PATH = "/etc/security/certificates";
100 const char *const HttpConstant::HTTP_CONTENT_TYPE = "content-type";
101 const char *const HttpConstant::HTTP_CONTENT_TYPE_URL_ENCODE = "application/x-www-form-urlencoded";
102 const char *const HttpConstant::HTTP_CONTENT_TYPE_JSON = "application/json";
103 const char *const HttpConstant::HTTP_CONTENT_TYPE_OCTET_STREAM = "application/octet-stream";
104 const char *const HttpConstant::HTTP_CONTENT_TYPE_IMAGE = "image";
105 const char *const HttpConstant::HTTP_CONTENT_TYPE_MULTIPART = "multipart/form-data";
106 
107 const char *const HttpConstant::HTTP_CONTENT_ENCODING_GZIP = "gzip";
108 
109 const char *const HttpConstant::REQUEST_TIME = "requestTime";
110 const char *const HttpConstant::RESPONSE_TIME = "responseTime";
111 const char *const HttpConstant::RESPONSE_PERFORMANCE_TIMING = "performanceTiming";
112 const char *const HttpConstant::RESPONSE_DNS_TIMING = "dnsTiming";
113 const char *const HttpConstant::RESPONSE_TCP_TIMING = "tcpTiming";
114 const char *const HttpConstant::RESPONSE_TLS_TIMING = "tlsTiming";
115 const char *const HttpConstant::RESPONSE_FIRST_SEND_TIMING = "firstSendTiming";
116 const char *const HttpConstant::RESPONSE_FIRST_RECEIVE_TIMING = "firstReceiveTiming";
117 const char *const HttpConstant::RESPONSE_TOTAL_FINISH_TIMING = "totalFinishTiming";
118 const char *const HttpConstant::RESPONSE_REDIRECT_TIMING = "redirectTiming";
119 const char *const HttpConstant::RESPONSE_HEADER_TIMING = "responseHeaderTiming";
120 const char *const HttpConstant::RESPONSE_BODY_TIMING = "responseBodyTiming";
121 const char *const HttpConstant::RESPONSE_TOTAL_TIMING = "totalTiming";
122 } // namespace OHOS::NetStack::Http
123