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::HTTP_PROXY_KEY_HOST = "host"; 56 const char *const HttpConstant::HTTP_PROXY_KEY_PORT = "port"; 57 const char *const HttpConstant::HTTP_PROXY_KEY_EXCLUSION_LIST = "exclusionList"; 58 59 const char *const HttpConstant::HTTP_CLIENT_CERT = "certPath"; 60 const char *const HttpConstant::HTTP_CLIENT_KEY = "keyPath"; 61 const char *const HttpConstant::HTTP_CLIENT_CERT_TYPE = "certType"; 62 const char *const HttpConstant::HTTP_CLIENT_KEY_PASSWD = "keyPassword"; 63 64 const char *const HttpConstant::HTTP_CERT_TYPE_PEM = "PEM"; 65 const char *const HttpConstant::HTTP_CERT_TYPE_DER = "DER"; 66 const char *const HttpConstant::HTTP_CERT_TYPE_P12 = "P12"; 67 68 const char *const HttpConstant::HTTP_PROXY_EXCLUSIONS_SEPARATOR = ","; 69 70 const char *const HttpConstant::RESPONSE_KEY_RESULT = "result"; 71 const char *const HttpConstant::RESPONSE_KEY_RESPONSE_CODE = "responseCode"; 72 const char *const HttpConstant::RESPONSE_KEY_HEADER = "header"; 73 const char *const HttpConstant::RESPONSE_KEY_COOKIES = "cookies"; 74 const char *const HttpConstant::RESPONSE_KEY_RESULT_TYPE = "resultType"; 75 const char *const HttpConstant::RESPONSE_KEY_SET_COOKIE = "set-cookie"; 76 const char *const HttpConstant::RESPONSE_KEY_SET_COOKIE_SEPARATOR = "\r\n"; 77 78 const char *const HttpConstant::HTTP_MULTI_FORM_DATA_NAME = "name"; 79 const char *const HttpConstant::HTTP_MULTI_FORM_DATA_CONTENT_TYPE = "contentType"; 80 const char *const HttpConstant::HTTP_MULTI_FORM_DATA_REMOTE_FILE_NAME = "remoteFileName"; 81 const char *const HttpConstant::HTTP_MULTI_FORM_DATA_DATA = "data"; 82 const char *const HttpConstant::HTTP_MULTI_FORM_DATA_FILE_PATH = "filePath"; 83 84 const char *const HttpConstant::HTTP_URL_PARAM_START = "?"; 85 const char *const HttpConstant::HTTP_URL_PARAM_SEPARATOR = "&"; 86 const char *const HttpConstant::HTTP_URL_NAME_VALUE_SEPARATOR = "="; 87 const char *const HttpConstant::HTTP_HEADER_SEPARATOR = ":"; 88 const char *const HttpConstant::HTTP_HEADER_BLANK_SEPARATOR = ";"; 89 const char *const HttpConstant::HTTP_LINE_SEPARATOR = "\r\n"; 90 const char *const HttpConstant::HTTP_RESPONSE_HEADER_SEPARATOR = "\r\n\r\n"; 91 92 const char *const HttpConstant::HTTP_DEFAULT_USER_AGENT = "libcurl-agent/1.0"; 93 #ifndef WINDOWS_PLATFORM 94 #ifdef MAC_PLATFORM 95 const char *const HttpConstant::HTTP_DEFAULT_CA_PATH = "/etc/ssl/cert.pem"; 96 #else 97 const char *const HttpConstant::HTTP_DEFAULT_CA_PATH = "/etc/ssl/certs/cacert.pem"; 98 #endif // MAC_PLATFORM 99 #endif // WINDOWS_PLATFORM 100 101 const char *const HttpConstant::HTTP_PREPARE_CA_PATH = "/etc/security/certificates"; 102 const char *const HttpConstant::HTTP_CONTENT_TYPE = "content-type"; 103 const char *const HttpConstant::HTTP_CONTENT_TYPE_URL_ENCODE = "application/x-www-form-urlencoded"; 104 const char *const HttpConstant::HTTP_CONTENT_TYPE_JSON = "application/json"; 105 const char *const HttpConstant::HTTP_CONTENT_TYPE_OCTET_STREAM = "application/octet-stream"; 106 const char *const HttpConstant::HTTP_CONTENT_TYPE_IMAGE = "image"; 107 const char *const HttpConstant::HTTP_CONTENT_TYPE_MULTIPART = "multipart/form-data"; 108 109 const char *const HttpConstant::HTTP_CONTENT_ENCODING_GZIP = "gzip"; 110 111 const char *const HttpConstant::REQUEST_TIME = "requestTime"; 112 const char *const HttpConstant::RESPONSE_TIME = "responseTime"; 113 const char *const HttpConstant::RESPONSE_PERFORMANCE_TIMING = "performanceTiming"; 114 const char *const HttpConstant::RESPONSE_DNS_TIMING = "dnsTiming"; 115 const char *const HttpConstant::RESPONSE_TCP_TIMING = "tcpTiming"; 116 const char *const HttpConstant::RESPONSE_TLS_TIMING = "tlsTiming"; 117 const char *const HttpConstant::RESPONSE_FIRST_SEND_TIMING = "firstSendTiming"; 118 const char *const HttpConstant::RESPONSE_FIRST_RECEIVE_TIMING = "firstReceiveTiming"; 119 const char *const HttpConstant::RESPONSE_TOTAL_FINISH_TIMING = "totalFinishTiming"; 120 const char *const HttpConstant::RESPONSE_REDIRECT_TIMING = "redirectTiming"; 121 const char *const HttpConstant::RESPONSE_HEADER_TIMING = "responseHeaderTiming"; 122 const char *const HttpConstant::RESPONSE_BODY_TIMING = "responseBodyTiming"; 123 const char *const HttpConstant::RESPONSE_TOTAL_TIMING = "totalTiming"; 124 } // namespace OHOS::NetStack::Http 125