1 /* 2 * Copyright (c) 2022-2024 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 #ifndef COMMUNICATIONNETSTACK_CONSTANT_H 17 #define COMMUNICATIONNETSTACK_CONSTANT_H 18 19 #include <map> 20 #include <string> 21 22 namespace OHOS::NetStack::Websocket { 23 enum { 24 FUNCTION_PARAM_ZERO = 0, 25 FUNCTION_PARAM_ONE = 1, 26 FUNCTION_PARAM_TWO = 2, 27 FUNCTION_PARAM_THREE = 3, 28 }; 29 30 enum WebsocketErrorCode { 31 WEBSOCKET_CONNECT_FAILED = -1, 32 WEBSOCKET_ERROR_CODE_BASE = 2302000, 33 WEBSOCKET_ERROR_CODE_URL_ERROR = WEBSOCKET_ERROR_CODE_BASE + 1, 34 WEBSOCKET_ERROR_CODE_FILE_NOT_EXIST = WEBSOCKET_ERROR_CODE_BASE + 2, 35 WEBSOCKET_ERROR_CODE_CONNECT_AlREADY_EXIST = WEBSOCKET_ERROR_CODE_BASE + 3, 36 WEBSOCKET_NOT_ALLOWED_HOST = 2302998, 37 WEBSOCKET_UNKNOWN_OTHER_ERROR = 2302999 38 }; 39 40 static const std::map<int32_t, std::string> WEBSOCKET_ERR_MAP = { 41 {WEBSOCKET_CONNECT_FAILED, "Websocket connect failed"}, 42 {WEBSOCKET_ERROR_CODE_URL_ERROR, "Websocket url error"}, 43 {WEBSOCKET_ERROR_CODE_FILE_NOT_EXIST, "Websocket file not exist"}, 44 {WEBSOCKET_ERROR_CODE_CONNECT_AlREADY_EXIST, "Websocket connection exist"}, 45 {WEBSOCKET_NOT_ALLOWED_HOST, "It is not allowed to access this domain"}, 46 {WEBSOCKET_UNKNOWN_OTHER_ERROR, "Websocket Unknown Other Error"}}; 47 48 enum { 49 CLOSE_REASON_NORMAL_CLOSE [[maybe_unused]] = 1000, 50 CLOSE_REASON_SERVER_CLOSED [[maybe_unused]] = 1001, 51 CLOSE_REASON_PROTOCOL_ERROR [[maybe_unused]] = 1002, 52 CLOSE_REASON_UNSUPPORT_DATA_TYPE [[maybe_unused]] = 1003, 53 CLOSE_REASON_RESERVED1 [[maybe_unused]], 54 CLOSE_REASON_RESERVED2 [[maybe_unused]], 55 CLOSE_REASON_RESERVED3 [[maybe_unused]], 56 CLOSE_REASON_RESERVED4 [[maybe_unused]], 57 CLOSE_REASON_RESERVED5 [[maybe_unused]], 58 CLOSE_REASON_RESERVED6 [[maybe_unused]], 59 CLOSE_REASON_RESERVED7 [[maybe_unused]], 60 CLOSE_REASON_RESERVED8 [[maybe_unused]], 61 CLOSE_REASON_RESERVED9 [[maybe_unused]], 62 CLOSE_REASON_RESERVED10 [[maybe_unused]], 63 CLOSE_REASON_RESERVED11 [[maybe_unused]], 64 CLOSE_REASON_RESERVED12 [[maybe_unused]], 65 }; 66 67 enum class WebsocketProxyType { 68 NOT_USE, 69 USE_SYSTEM, 70 USE_SPECIFIED, 71 }; 72 73 class ContextKey final { 74 public: 75 static const char *HEADER; 76 77 static const char *CAPATH; 78 static const char *CLIENT_CERT; 79 static const char *CERT_PATH; 80 static const char *KEY_PATH; 81 static const char *KEY_PASSWD; 82 83 static const char *PROXY; 84 static const char *PROTCOL; 85 static const char *USE_SYSTEM_PROXY; 86 static const char *NOT_USE_PROXY; 87 88 static const char *WEBSOCKET_PROXY_HOST; 89 static const char *WEBSOCKET_PROXY_PORT; 90 static const char *WEBSOCKET_PROXY_EXCLUSION_LIST; 91 static const char *WEBSOCKET_PROXY_EXCLUSIONS_SEPARATOR; 92 93 static const char *CODE; 94 static const char *REASON; 95 }; 96 97 class EventName final { 98 public: 99 static const char *EVENT_OPEN; 100 static const char *EVENT_MESSAGE; 101 static const char *EVENT_CLOSE; 102 static const char *EVENT_ERROR; 103 static const char *EVENT_DATA_END; 104 static const char *EVENT_HEADER_RECEIVE; 105 }; 106 } // namespace OHOS::NetStack::Websocket 107 #endif /* COMMUNICATIONNETSTACK_CONSTANT_H */ 108