1 #ifndef DALI_WEB_ENGINE_REQUEST_INTERCEPTOR_H
2 #define DALI_WEB_ENGINE_REQUEST_INTERCEPTOR_H
5 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
27 * @brief A class WebEngineRequestInterceptor for intercepting http request.
29 class WebEngineRequestInterceptor
35 WebEngineRequestInterceptor() = default;
40 virtual ~WebEngineRequestInterceptor() = default;
43 * @brief Returns request url.
45 * @return url on success or empty on failure
47 virtual std::string GetUrl() const = 0;
50 * @brief Ignores request.
52 * @return true on success or false on failure
54 virtual bool Ignore() = 0;
57 * @brief Sets status code and status text of response for intercepted request.
59 * @param[in] statusCode Status code of response
60 * @param[in] customStatusText Status code of response
62 * @return true if succeeded or false if failed
64 virtual bool SetResponseStatus(int statusCode, const std::string& customStatusText) = 0;
67 * @brief Adds HTTP header to response for intercepted request.
69 * @param[in] fieldName Key of response header
70 * @param[in] fieldValue Value of response header
72 * @return true if succeeded or false if failed
74 virtual bool AddResponseHeader(const std::string& fieldName, const std::string& fieldValue) = 0;
77 * @brief Writes whole response body at once.
79 * @param[in] body Contents of response
80 * @param[in] length Length of Contents of response
82 * @return true if succeeded or false if failed
84 virtual bool AddResponseBody(const std::string& body, uint32_t length) = 0;
89 #endif // DALI_WEB_ENGINE_REQUEST_INTERCEPTOR_H